#ifndef _E3D_OBJECT_GAME_INFORMATION_
#define _E3D_OBJECT_GAME_INFORMATION_

#include "HPLCounter.h"

namespace HPL {
namespace E3D {

namespace ObjectType {
	enum {
		PLAYER,
		ENEMY,
		SHOT,
		NEUTRAL,

	};
}
/** ゲーム操作に関する情報
  *
  */
class E3DObjectGameInformation {

public:
	//! 何か数え用
	General::HPLCounter* m_Counter;

	//! 死んで消えるまでのカウンタ
	General::HPLCounter* m_DeathCounter;

	//! 体力
	float m_fHP;

	//! 体力最大値
	float m_fHPMax;

	//! 個体識別ID。生成時に発行する
	int m_nID;

	//! オブジェクトとしての種類
	int m_nType;

	//! 種別の種類
	int m_nObjectType;

	//! ダメージ
	float m_fDamage;

	//! ランダム幅
	float m_fDamageError;

	//! 認識
	BOOL m_bRecognized;

	//! 捕まっている
//	BOOL m_bIsHeld;
	//! 捕まえてきている敵のSIGID
	int m_nHolderSigID;

	//! 捕まえている
//	BOOL m_bIsHold;
	//! 捕まえている対象のSIGID
	int m_nHoldTargetSigID;

	//! 行動指針
	int m_nMoveType;

	//! 登録されているイベントの番号
	int m_nScenarioIndex;

	//! 持っている武器のタイプ
	int m_nWeaponType;
public:
	E3DObjectGameInformation();
	~E3DObjectGameInformation();

public:
	float set_HP( float fNewHP );

	void reset();
};
}
}

#endif
