
///////////////////////////////////////////////////////////////////////////////
//
// File   : AVP_Blueprint_ParameterEnumerator_SkinAttachments.h
// Author : Andy Tate
// Date   : 23-Jan-2008
//
// Copyright (C) 2008 Rebellion, All Rights Reserved.
//
///////////////////////////////////////////////////////////////////////////////

#ifdef ASURA_USE_PRAGMA_ONCE
	#pragma once
#endif   // ifdef ASURA_USE_PRAGMA_ONCE

#ifndef __AVP_BLUEPRINT_PARAMETERENUMERATOR_SKINATTACHMENTS_H__
#define __AVP_BLUEPRINT_PARAMETERENUMERATOR_SKINATTACHMENTS_H__

////////////////////////////////////////////////////////////////////////////////
// Include files...
////////////////////////////////////////////////////////////////////////////////

#include "Blueprint/Asura_Blueprint.h"


////////////////////////////////////////////////////////////////////////////////
// Forward class declarations...
////////////////////////////////////////////////////////////////////////////////

class Asura_Animation;
class AVP_ClientEntity_Actor;

////////////////////////////////////////////////////////////////////////////////
// Class declaration...
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// Class        : AVP_Blueprint_ParameterEnumerator_SkinAttachments
// Author       : Andy Tate
// Date         : 23-Jan-2008
//
// Description  : Class to handle enumeration of skin-attachments
//				  from a specified blueprint.
////////////////////////////////////////////////////////////////////////////////

class AVP_Blueprint_ParameterEnumerator_SkinAttachments : public Asura_Blueprint_ParameterEnumerator
{
public:
	// Public functions...
	AVP_Blueprint_ParameterEnumerator_SkinAttachments(Asura_Animation& xAnimation, AVP_ClientEntity_Actor& xActor);
	//	virtual ~AVP_Blueprint_ParameterEnumerator_SkinAttachments();

	// Abstract enumeration function...
	virtual void	BeginEnumeration(void);
	virtual bool	Enumerate(const u_int uIndex, char const* const szName, const Asura_Value& xValue);
	virtual void	EndEnumeration(const bool bSuccess);


protected:
	// Protected variables...
	Asura_Animation&	m_xAnimation;	// A reference to the animation to attach to.
	AVP_ClientEntity_Actor& m_xActor;
	// Protected functions...


private:
	// Private variables...

	// Private functions...
	AVP_Blueprint_ParameterEnumerator_SkinAttachments(void);
	AVP_Blueprint_ParameterEnumerator_SkinAttachments(const AVP_Blueprint_ParameterEnumerator_SkinAttachments& xOther);

	AVP_Blueprint_ParameterEnumerator_SkinAttachments&	operator=(const AVP_Blueprint_ParameterEnumerator_SkinAttachments& xOther);

};   // End of class 'AVP_Blueprint_ParameterEnumerator_SkinAttachments'.

#endif   // ifndef __AVP_BLUEPRINT_PARAMETERENUMERATOR_SKINATTACHMENTS_H__


/// End of file. ///
