1 #ifndef BLOBS_APP_MASTERSTATE_HPP_
2 #define BLOBS_APP_MASTERSTATE_HPP_
7 #include "../graphics/Camera.hpp"
8 #include "../ui/CreaturePanel.hpp"
9 #include "../ui/RecordsPanel.hpp"
10 #include "../ui/TimePanel.hpp"
24 MasterState(Assets &, world::Simulation &) noexcept;
25 ~MasterState() noexcept;
27 MasterState(const MasterState &) = delete;
28 MasterState &operator =(const MasterState &) = delete;
30 MasterState(MasterState &&) = delete;
31 MasterState &operator =(MasterState &&) = delete;
34 graphics::Camera &GetCamera() noexcept { return cam; }
35 const graphics::Camera &GetCamera() const noexcept { return cam; }
37 ui::CreaturePanel &GetCreaturePanel() noexcept { return cp; }
38 const ui::CreaturePanel &GetCreaturePanel() const noexcept { return cp; }
40 ui::RecordsPanel &GetRecordsPanel() noexcept { return rp; }
41 const ui::RecordsPanel &GetRecordsPanel() const noexcept { return rp; }
43 ui::TimePanel &GetTimePanel() noexcept { return tp; }
44 const ui::TimePanel &GetTimePanel() const noexcept { return tp; }
47 void OnResize(int w, int h) override;
49 void OnKeyDown(const SDL_KeyboardEvent &) override;
50 void OnMouseDown(const SDL_MouseButtonEvent &) override;
51 void OnMouseUp(const SDL_MouseButtonEvent &) override;
52 void OnMouseMotion(const SDL_MouseMotionEvent &) override;
53 void OnMouseWheel(const SDL_MouseWheelEvent &) override;
55 void OnUpdate(int dt) override;
56 void OnRender(graphics::Viewport &) override;
59 int FrameMS() const noexcept;
63 world::Simulation ∼
68 glm::dvec3 cam_orient;