#pragma once

//! @file Mix/Scene/ISimpleKinematicCharacter.h
//! @brief シンプルキネマティックキャラクターインターフェースインクルードファイル

#include "Mix/Scene/IKinematicCharacter.h"

namespace Mix{ namespace Scene{

	//! @class ISimpleKinematicCharacter
	//! @brief シンプルキネマティックキャラクター
	class ISimpleKinematicCharacter : public Mix::Scene::IKinematicCharacter
	{
	protected:
		//! @brief デストラクタ
		virtual ~ISimpleKinematicCharacter( void ) {}

	public:
		//! @brief フィルターグループを取得します
		//! @return フィルターグループを返します
		virtual UInt16 GetFilterGroup( void ) const = 0;
		//! @brief フィルターグループを設定します
		//! @param[in] filterGroup フィルターグループ
		//! @note 初期値は ( Mix::Dynamics::OF_CHARACTER ) になります。
		virtual void SetFilterGroup( UInt16 filterGroup ) = 0;

		//! @brief フィルターマスクを取得します
		//! @return フィルターマスクを返します
		virtual UInt16 GetFilterMask( void ) const = 0;
		//! @brief フィルターマスクを設定します
		//! @param[in] filterMask フィルターマスク
		//! @note 初期値は ( Mix::Dynamics::OF_STATIC | Mix::Dynamics::OF_CHARACTER ) になります。
		virtual void SetFilterMask( UInt16 filterMask ) = 0;
	};

}}
