X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fui%2FInterface.hpp;h=f3b1252643c93f02c8065c347a90ce7229bc3dcb;hb=5d2da8a07411ad6417d6ed8d1be997189cf5ce89;hp=88637c6adc368144b9825d411c03729b46cf9ba1;hpb=55dbd6b35a39888f245e247d2e140f141f918178;p=blank.git diff --git a/src/ui/Interface.hpp b/src/ui/Interface.hpp index 88637c6..f3b1252 100644 --- a/src/ui/Interface.hpp +++ b/src/ui/Interface.hpp @@ -15,10 +15,10 @@ namespace blank { -class Chunk; -class BlendedSprite; -class DirectionalLighting; class Assets; +class Chunk; +class FrameCounter; +class Viewport; class World; class Interface { @@ -34,7 +34,7 @@ public: bool visual_disabled = false; }; - Interface(const Config &, const Assets &, World &); + Interface(const Config &, const Assets &, const FrameCounter &, World &); void HandlePress(const SDL_KeyboardEvent &); void HandleRelease(const SDL_KeyboardEvent &); @@ -42,7 +42,8 @@ public: void HandlePress(const SDL_MouseButtonEvent &); void HandleRelease(const SDL_MouseButtonEvent &); void Handle(const SDL_MouseWheelEvent &); - void Handle(const SDL_WindowEvent &) noexcept; + + void Resize(const Viewport &); void FaceBlock(); void TurnBlock(); @@ -62,14 +63,18 @@ public: void SelectNext(); void SelectPrevious(); + void ToggleCounter(); + void UpdateCounter(); + void Update(int dt); - void Render(DirectionalLighting &, BlendedSprite &) noexcept; + void Render(Viewport &) noexcept; private: void CheckAim(); private: + const FrameCounter &counter; World &world; FPSController ctrl; Font font; @@ -83,6 +88,13 @@ private: OutlineModel outline; glm::mat4 outline_transform; + bool show_counter; + Texture counter_tex; + SpriteModel counter_sprite; + glm::mat4 counter_transform; + float counter_x; + SDL_Color counter_color; + Config config; IntervalTimer place_timer;