1 #ifndef BLANK_APP_FPSCONTROLLER_HPP_
2 #define BLANK_APP_FPSCONTROLLER_HPP_
4 #include "../model/geometry.hpp"
5 #include "../world/Entity.hpp"
15 explicit FPSController(Entity &) noexcept;
17 Ray Aim() const noexcept { return entity.Aim(entity.ChunkCoords()); }
19 const glm::vec3 &Velocity() const noexcept { return velocity; }
20 void Velocity(const glm::vec3 &vel) noexcept { velocity = vel; }
22 // all angles in radians (full circle = 2π)
23 float Pitch() const noexcept { return pitch; }
24 void Pitch(float p) noexcept;
25 void RotatePitch(float delta) noexcept;
26 float Yaw() const noexcept { return yaw; }
27 void Yaw(float y) noexcept;
28 void RotateYaw(float delta) noexcept;
30 void Update(int dt) noexcept;