#ifndef PLAYER_H__ #define PLAYER_H__ #include "define.h" #include "transformation.h" #include "vertexbuffer.h" #include "blockinfo.h" struct Mob; class Player{ public: Player ( const Vector3f & position , float rotX = 0 , float rotY = 0); void TurnCamera(float x, float y); void SetPosition(Vector3f delta); Vector3f SimulateMove ( bool front , bool back , bool left , bool right , bool run , float elapsedTime ); float SimulateJump( bool jump, bool& InJump, float& deltay, bool OnGround, float& jumpsize); void ApplyTransformation ( Transformation & transformation ) const; Vector3f Position(); void Damage(Mob& mob); float Health(); void setHealth(float health); private: float m_rotx = 0; float m_roty = 0; float m_health; float m_damage = 50.f; Vector3f m_pos; }; class Mob{ public: Mob(); Mob(const Vector3f & position, float Damage, int Armour); void SetPosition(Vector3f delta); void Move(Player p1); Vector3f Position(); void Damage(Player& p1); void RenderMob(); float GetDamage(); float Health(); void setHealth(float health); int GetArmour(); bool isNull(); bool isEqual(Mob mob); private: float m_health; int m_armour; float m_damage; Vector3f m_pos; }; #endif