X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcontroller.hpp;h=7dd3d110181120b4f60ab5e4015d243dbc8a186a;hb=46509f82dcea114b004c53a7f3a9608f2518077f;hp=aaa51f5da094069dbdb2551813fd7b9c3a26820d;hpb=b35ce3a6423c554b34b37362c5550bd705e63a1d;p=blank.git diff --git a/src/controller.hpp b/src/controller.hpp index aaa51f5..7dd3d11 100644 --- a/src/controller.hpp +++ b/src/controller.hpp @@ -4,7 +4,6 @@ #include "entity.hpp" #include "geometry.hpp" -#include #include @@ -17,6 +16,9 @@ public: Ray Aim() const { return entity.Aim(entity.ChunkCoords()); } + const glm::vec3 &Velocity() const { return velocity; } + void Velocity(const glm::vec3 &vel) { velocity = vel; } + // all angles in radians (full circle = 2π) float Pitch() const { return pitch; } void Pitch(float p); @@ -25,22 +27,30 @@ public: void Yaw(float y); void RotateYaw(float delta); - void HandleKeyboard(const SDL_KeyboardEvent &); - void HandleMouse(const SDL_MouseMotionEvent &); - void Update(int dt); private: Entity &entity; + glm::vec3 velocity; + float pitch; float yaw; - float move_velocity; - float pitch_sensitivity; - float yaw_sensitivity; +}; + + +class RandomWalk { + +public: + explicit RandomWalk(Entity &); + + void Update(int dt); + +private: + Entity &entity; - bool front, back, left, right, up, down; + int time_left; };