35 lines
757 B
C
35 lines
757 B
C
|
#ifndef _PLAYER_H__
|
||
|
#define _PLAYER_H__
|
||
|
#include "vector3.h"
|
||
|
#include <cmath>
|
||
|
|
||
|
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);
|
||
|
|
||
|
Vector3f GetPosition() const;
|
||
|
Vector3f GetDirection() const;
|
||
|
Vector3f GetVelocity() const;
|
||
|
Vector3f GetPOV() const;
|
||
|
void Teleport(int& x, int& z);
|
||
|
|
||
|
protected:
|
||
|
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__
|
||
|
|