#pragma once

namespace Mix{ namespace Tool{ namespace Win32{ namespace Graphics{
	class DrawObject;
}}}}

namespace Mix{ namespace Tool{ namespace Graphics{
	ref class MaterialSlotCollection;
}}}

namespace Mix{ namespace Tool{ namespace Graphics{

	ref class MaterialSlotCollection;

	public ref class DrawObject
	{
	internal:
		Mix::Tool::Win32::Graphics::DrawObject* implDrawObject;

	internal:
		void InitializeMaterialSlotCollection( void );

	private:
		Mix::Tool::Graphics::MaterialSlotCollection^ m_MaterialSlotCollection;

	public:
		DrawObject( void );
		virtual ~DrawObject( void );

		void Enable( void );
		void Disable( void );

		property int DisableCount
		{
			int get( void );
		}

		property Mix::Tool::Graphics::MaterialSlotCollection^ MaterialSlots
		{
			Mix::Tool::Graphics::MaterialSlotCollection^ get( void );
		}

		bool SaveMaterials( void );
	};

}}}
