/* -----------------------------------------------------------------------------
	GSFramework
	Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */


#ifndef	__NITEMAUTOMATEDPROPERTYPROVIDER__
#define	__NITEMAUTOMATEDPROPERTYPROVIDER__


		#include "automation/automated_property_provider.h"


namespace GS {

	namespace Core { class Item; }
	namespace S3D {
		namespace Automation {

/*!
	@short	Item automated property provider.
	@author	Emmanuel Julien (ejulien@nworks.fr)
*/
struct	ItemPropertyProvider : public GS::Automation::IPropertyProvider
{
		Core::Item	*item;

virtual	bool		GetProperty(Core::MotionChannel::Type, float &);
virtual	bool		SetProperty(Core::MotionChannel::Type, float);
virtual	Quaternion	GetRotation() const;
virtual	bool		SetRotation(const Quaternion &);

		ItemPropertyProvider(Core::Item *i) : item(i) {}
};

		} // Automation
	} // S3D
} // GS


#endif	// __NITEMAUTOMATEDPROPERTYPROVIDER__
