#pragma once

#include "Mix/Tool/CLR/Core/Dynamics/CollisionObject.h"

namespace Mix{ namespace Tool{ namespace Win32{ namespace Dynamics{
	class StaticPlane;
}}}}

namespace Mix{ namespace Tool{ namespace Dynamics{

	ref class PhysicsMaterial;

	public ref class StaticPlane : public Mix::Tool::Dynamics::CollisionObject
	{
	private:
		Mix::Tool::Win32::Dynamics::StaticPlane* impl;
		bool m_bInternalImpl;
		Mix::Tool::Dynamics::PhysicsMaterial^ m_PhysicsMaterial;

	internal:
		StaticPlane( Mix::Tool::Win32::Dynamics::StaticPlane* _impl );

	public:
		StaticPlane( void );
		~StaticPlane( void );

		property Mix::Tool::Dynamics::PhysicsMaterial^ PhysicsMaterial
		{
			Mix::Tool::Dynamics::PhysicsMaterial^ get( void );
			void set( Mix::Tool::Dynamics::PhysicsMaterial^ value );
		}

	private:
		void PhysicsMaterial_ValueChanged( System::Object^ sender, System::EventArgs^ e );

	internal:
		property Mix::Tool::Win32::Dynamics::CollisionObject* Impl
		{
			virtual Mix::Tool::Win32::Dynamics::CollisionObject* get( void ) override;
		}
	};

}}}
