X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fui%2FCreaturePanel.hpp;h=864fede83c983756ad5f2af333b984bc37c62b53;hb=475f28f06c9e14912bab8119264e247ef466513d;hp=a487b1a1637878c4c526ddd9c208061f3b1582d3;hpb=56f570e713c42d30109a214e68a2beed96ba1999;p=blobs.git diff --git a/src/ui/CreaturePanel.hpp b/src/ui/CreaturePanel.hpp index a487b1a..864fede 100644 --- a/src/ui/CreaturePanel.hpp +++ b/src/ui/CreaturePanel.hpp @@ -1,7 +1,6 @@ #ifndef BLOBS_UI_CREATUREPANEL_HPP_ #define BLOBS_UI_CREATUREPANEL_HPP_ -#include "Label.hpp" #include "Panel.hpp" @@ -17,6 +16,9 @@ namespace graphics { } namespace ui { +class Label; +class Meter; + class CreaturePanel { public: @@ -33,12 +35,27 @@ 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 *born; + Label *age; + Label *mass; + Label *pos; + Label *tile; + Label *goal; + Meter *stats[7]; + Label *props[8]; Panel panel; };