#ifndef _WEAPON_
#define _WEAPON_

#include <windows.h>

namespace MotionTest {

namespace WeaponType {
	enum {
		MINI_GUN,
		MACHINE_GUN,
		MISSILE_LAUNCHER,
		HAND_GUN,
		GRANADE_LAUNCHER,

		MAX_EVIGEN,
		CROWBAR = MAX_EVIGEN,
		MAX_NUM
	};
}

class Weapon {
private:
	int m_nType;
	int m_nSigID;
	int m_nSpriteID;
	BOOL m_bEnable;
	float m_fError;

	int m_nLoadedAmmo;
	int m_nLoadedAmmoMax;
	int m_nChargedAmmo;
	int m_nChargedAmmoMax;

	int m_nItemAmmo;
public:
	Weapon();
	~Weapon();

	void set_Error( float fError );
	float get_Error( );
	void set_Type(int nType );
	int get_Type();
	void set_SigID(int nSigID);
	int get_SigID();
	int get_SpriteID();
	void set_SpriteID(int nSpriteID);
	void set_Enable( BOOL bEnable );
	BOOL is_Enable();
	
	int m_nShotAutomaticInterval;

	int set_LoadedAmmo( int nNewAmmo );
	int set_ChargedAmmo( int nNewAmmo );
	int get_LoadedAmmo();
	int get_ChargedAmmo();
	int get_LoadedAmmoMax();
	int get_ChargedAmmoMax();
	int get_ItemAmmo();

	// 画面初期化時に最初だけ呼ぶ（弾薬数の設定）
	void resetFirst();

};
}

#endif
