]> git.localhorst.tv Git - blobs.git/blobdiff - src/ui/CreaturePanel.hpp
overhaul need system
[blobs.git] / src / ui / CreaturePanel.hpp
index b9888b2fcce6045c287482a19b648301d956c2bf..864fede83c983756ad5f2af333b984bc37c62b53 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef BLOBS_UI_CREATUREPANEL_HPP_
 #define BLOBS_UI_CREATUREPANEL_HPP_
 
-#include "Label.hpp"
+#include "Panel.hpp"
 
 
 namespace blobs {
@@ -16,6 +16,9 @@ namespace graphics {
 }
 namespace ui {
 
+class Label;
+class Meter;
+
 class CreaturePanel {
 
 public:
@@ -32,12 +35,28 @@ public:
        void Show(creature::Creature &);
        void Hide() noexcept;
 
+       bool Shown() const noexcept { return c; }
+       const creature::Creature &GetCreature() const noexcept { return *c; }
+
        void Draw(app::Assets &, graphics::Viewport &) noexcept;
 
 private:
+       void CreateNeeds();
+
+private:
+       const app::Assets &assets;
        creature::Creature *c;
 
-       Label name;
+       Label *name;
+       Label *born;
+       Label *age;
+       Label *mass;
+       Label *pos;
+       Label *tile;
+       Label *goal;
+       Meter *stats[7];
+       Label *props[8];
+       Panel panel;
 
 };