namespace blank {
-class Chunk;
-class BlendedSprite;
-class DirectionalLighting;
class Assets;
+class Chunk;
+class FrameCounter;
+class Viewport;
class World;
class Interface {
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 &);
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();
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;
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;