#ifndef PLAYER_H__ #define PLAYER_H__ #include #include "transformation.h" #include "vector3.h" class World; class Player { public: enum Sound { NOSOUND, STEP, FALL }; Player(const Vector3f& position, float rotX = 0, float rotY = 0); void TurnLeftRight(float value); void TurnTopBottom(float value); Vector3f GetInput(bool front, bool back, bool left, bool right, bool jump, bool dash, float elapsedTime); Sound ApplyPhysics(Vector3f input, World* world, float elapsedTime); void ApplyTransformation(Transformation& transformation, bool rel = true) const; Vector3f GetPosition() const; Vector3f GetDirection() const; Vector3f GetVelocity() const; Vector3f GetPOV() const; std::string GetUsername() const; float GetHP() const; void Teleport(int& x, int& z); private: Vector3f m_position; Vector3f m_velocity; Vector3f m_direction; std::string m_username; float m_rotX = 0; float m_rotY = 0; float m_POV; float m_hp; bool m_airborne; }; #endif //_PLAYER_H__