#include "Assets.hpp"
#include "../graphics/Camera.hpp"
+#include "../ui/BodyPanel.hpp"
#include "../ui/CreaturePanel.hpp"
#include "../ui/RecordsPanel.hpp"
#include "../ui/TimePanel.hpp"
namespace blobs {
+namespace creature {
+ class Creature;
+}
namespace world {
class Body;
class Simulation;
MasterState &operator =(MasterState &&) = delete;
public:
+ void Show(creature::Creature &) noexcept;
+ void Show(world::Body &) noexcept;
+
graphics::Camera &GetCamera() noexcept { return cam; }
const graphics::Camera &GetCamera() const noexcept { return cam; }
+ ui::BodyPanel &GetBodyPanel() noexcept { return bp; }
+ const ui::BodyPanel &GetBodyPanel() const noexcept { return bp; }
+
ui::CreaturePanel &GetCreaturePanel() noexcept { return cp; }
const ui::CreaturePanel &GetCreaturePanel() const noexcept { return cp; }
world::Simulation ∼
graphics::Camera cam;
+ glm::dvec3 cam_pos;
+ glm::dvec3 cam_tgt_pos;
+ glm::dvec3 cam_focus;
+ glm::dvec3 cam_tgt_focus;
+ glm::dvec3 cam_up;
+ glm::dvec3 cam_tgt_up;
double cam_dist;
- double cam_tgt_dist;
glm::dvec3 cam_orient;
bool cam_dragging;
+ creature::Creature *shown_creature;
+ world::Body *shown_body;
+
+ ui::BodyPanel bp;
ui::CreaturePanel cp;
ui::RecordsPanel rp;
ui::TimePanel tp;