1 #ifndef BLOBS_APP_MASTERSTATE_HPP_
2 #define BLOBS_APP_MASTERSTATE_HPP_
7 #include "../graphics/Camera.hpp"
8 #include "../ui/BodyPanel.hpp"
9 #include "../ui/CreaturePanel.hpp"
10 #include "../ui/RecordsPanel.hpp"
11 #include "../ui/TimePanel.hpp"
25 MasterState(Assets &, world::Simulation &) noexcept;
26 ~MasterState() noexcept;
28 MasterState(const MasterState &) = delete;
29 MasterState &operator =(const MasterState &) = delete;
31 MasterState(MasterState &&) = delete;
32 MasterState &operator =(MasterState &&) = delete;
35 graphics::Camera &GetCamera() noexcept { return cam; }
36 const graphics::Camera &GetCamera() const noexcept { return cam; }
38 ui::CreaturePanel &GetCreaturePanel() noexcept { return cp; }
39 const ui::CreaturePanel &GetCreaturePanel() const noexcept { return cp; }
41 ui::RecordsPanel &GetRecordsPanel() noexcept { return rp; }
42 const ui::RecordsPanel &GetRecordsPanel() const noexcept { return rp; }
44 ui::TimePanel &GetTimePanel() noexcept { return tp; }
45 const ui::TimePanel &GetTimePanel() const noexcept { return tp; }
48 void OnResize(int w, int h) override;
50 void OnKeyDown(const SDL_KeyboardEvent &) override;
51 void OnMouseDown(const SDL_MouseButtonEvent &) override;
52 void OnMouseUp(const SDL_MouseButtonEvent &) override;
53 void OnMouseMotion(const SDL_MouseMotionEvent &) override;
54 void OnMouseWheel(const SDL_MouseWheelEvent &) override;
56 void OnUpdate(int dt) override;
57 void OnRender(graphics::Viewport &) override;
60 int FrameMS() const noexcept;
64 world::Simulation ∼
69 glm::dvec3 cam_orient;