X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fui%2FCreaturePanel.hpp;h=7a96bf8f4cf09125a47bd4e9b98ed5b2a62c56ba;hb=refs%2Fheads%2Fmaster;hp=e3df0417ce68f81e980bb192f31d332bf2652f98;hpb=cd9cee86b336b5ec531028ac2deebb391e48ed21;p=blobs.git diff --git a/src/ui/CreaturePanel.hpp b/src/ui/CreaturePanel.hpp index e3df041..7a96bf8 100644 --- a/src/ui/CreaturePanel.hpp +++ b/src/ui/CreaturePanel.hpp @@ -3,6 +3,8 @@ #include "Panel.hpp" +#include + namespace blobs { namespace app { @@ -22,7 +24,7 @@ class Meter; class CreaturePanel { public: - explicit CreaturePanel(const app::Assets &); + explicit CreaturePanel(app::Assets &); ~CreaturePanel(); CreaturePanel(const CreaturePanel &) = delete; @@ -35,27 +37,33 @@ public: void Show(creature::Creature &); void Hide() noexcept; - void Draw(app::Assets &, graphics::Viewport &) noexcept; + bool Shown() const noexcept { return c; } + const creature::Creature &GetCreature() const noexcept { return *c; } -private: - void CreateNeeds(); + void ZIndex(float z) noexcept { panel.ZIndex(z); } + + void Draw(graphics::Viewport &) noexcept; private: - const app::Assets &assets; + app::Assets &assets; creature::Creature *c; Label *name; + Label *parents; + Label *born; Label *age; Label *mass; + Label *size; + Label *goal; Label *pos; Label *tile; - Label *goal; - Panel *needs; + Label *head; + Panel *composition; + std::vector