#ifndef _PLAYER_H__ #define _PLAYER_H__ #include "vector3.h" #include "transformation.h" #include class World; class Player { public: 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); void 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; void Teleport(int& x, int& z); private: Vector3f m_position; Vector3f m_velocity; Vector3f m_direction; float m_rotX = 0; float m_rotY = 0; float m_POV; bool m_airborne; }; #endif //_PLAYER_H__