www.pudn.com > notWow.rar > HeroCtrl.h


#pragma once 
 
#include "Input.h" 
#include "Char.h" 
 
 
class Hero : public ICharBase 
{ 
public: 
	static  int s_ShuffleDgreeFixed; 
	static  int s_TimeFixed; 
 
	TextureID	m_TexturesID[6]; 
	char		m_Geosets[16]; 
	list  m_Items;	 
 
	float		m_fWalkSpeed; 
	float		m_fRunSpeed; 
	int			m_MaxHP; 
	int			m_HP;	 
	int			m_Defence; 
	int			m_Offence; 
	int			m_SDefence; 
	int			m_SOffence; 
 
	CHARSTATE	m_State; 
	bool		m_bBattle; 
	ACTION		m_Act; 
	int			m_Anim; 
	int			m_Time; 
 
	bool		m_bRun; 
	// ... 
public: 
	Hero() : m_Act(ACT_STAND),m_Time(0),m_MaxHP(100),m_HP(100), 
			 m_fWalkSpeed(2.5),m_fRunSpeed(5.0),m_Anim(0), 
			 m_State(CS_IDLE),m_bRun(false) 
	{ 
		memset(m_Geosets,0,sizeof(m_Geosets)); 
		memset(m_TexturesID,-1,sizeof(m_TexturesID)); 
	} 
	~Hero() 
	{ 
		m_Items.clear(); 
	} 
 
	void Render(D3DXMATRIX* pViewProj); 
	void Update(float fTime); 
 
	D3DXMATRIX GetMatrix(); 
public: 
 
	void MoveForward(float fTime,ACTION Act = ACT_RUN); 
	void MoveBackward(float fTime,ACTION Act = ACT_WALKBACKWARD); 
	void ShuffleLeft(float fTime); 
	void ShuffleRight(float fTime); 
	void TurnLeft(float fTime); 
	void TurnRight(float fTime); 
	void Stand(float fTime); 
}; 
 
class HeroController 
{ 
	Hero		m_Hero; 
public: 
	void Init(char* pFile,int Size); 
	void Free(); 
	void Update(float fTime); 
	void Render(); 
 
	inline Hero*	GetHero()	{ return &m_Hero;	} 
};