X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Finterface.hpp;h=8bdb8fb7ca0248bf4cb06ce14c3c9cff55cfd8b1;hb=e74f1ad236429f05db90c0ace825277e2a3fbc05;hp=ed417086504a8f8b86d97f648abe4349d3692e83;hpb=c3c5045f06327db2a3c97eae77a072bc06677286;p=blank.git diff --git a/src/interface.hpp b/src/interface.hpp index ed41708..8bdb8fb 100644 --- a/src/interface.hpp +++ b/src/interface.hpp @@ -18,7 +18,17 @@ class World; class Interface { public: - explicit Interface(World &); + struct Config { + float move_velocity = 0.005f; + float pitch_sensitivity = -0.0025f; + float yaw_sensitivity = -0.001f; + + bool keyboard_disabled = false; + bool mouse_disabled = false; + bool visual_disabled = false; + }; + + Interface(const Config &, World &); void Handle(const SDL_KeyboardEvent &); void Handle(const SDL_MouseMotionEvent &); @@ -26,10 +36,19 @@ public: void Handle(const SDL_MouseWheelEvent &); void Handle(const SDL_WindowEvent &); + void FaceBlock(); + void TurnBlock(); + void PickBlock(); void PlaceBlock(); void RemoveBlock(); + void PrintBlockInfo(); + void PrintChunkInfo(); + void PrintLightInfo(); + void PrintSelectionInfo(); + void Print(const Block &); + void SelectNext(); void SelectPrevious(); @@ -49,9 +68,7 @@ private: OutlineModel outline; glm::mat4 outline_transform; - float move_velocity; - float pitch_sensitivity; - float yaw_sensitivity; + Config config; Block remove; Block selection;