X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fui%2FCreaturePanel.hpp;h=7a96bf8f4cf09125a47bd4e9b98ed5b2a62c56ba;hb=a19fdf3d9f0d7ecbf6eeeec817856d85049a8336;hp=b9888b2fcce6045c287482a19b648301d956c2bf;hpb=76b630bd0a147bf7c78d3380237c86b9bfc48530;p=blobs.git diff --git a/src/ui/CreaturePanel.hpp b/src/ui/CreaturePanel.hpp index b9888b2..7a96bf8 100644 --- a/src/ui/CreaturePanel.hpp +++ b/src/ui/CreaturePanel.hpp @@ -1,7 +1,9 @@ #ifndef BLOBS_UI_CREATUREPANEL_HPP_ #define BLOBS_UI_CREATUREPANEL_HPP_ -#include "Label.hpp" +#include "Panel.hpp" + +#include namespace blobs { @@ -16,10 +18,13 @@ namespace graphics { } namespace ui { +class Label; +class Meter; + class CreaturePanel { public: - explicit CreaturePanel(const app::Assets &); + explicit CreaturePanel(app::Assets &); ~CreaturePanel(); CreaturePanel(const CreaturePanel &) = delete; @@ -32,12 +37,32 @@ 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; } + + void ZIndex(float z) noexcept { panel.ZIndex(z); } + + void Draw(graphics::Viewport &) noexcept; private: + app::Assets &assets; creature::Creature *c; - Label name; + Label *name; + Label *parents; + Label *born; + Label *age; + Label *mass; + Label *size; + Label *goal; + Label *pos; + Label *tile; + Label *head; + Panel *composition; + std::vector