]> git.localhorst.tv Git - blobs.git/blob - src/ui/CreaturePanel.hpp
basic info box
[blobs.git] / src / ui / CreaturePanel.hpp
1 #ifndef BLOBS_UI_CREATUREPANEL_HPP_
2 #define BLOBS_UI_CREATUREPANEL_HPP_
3
4 #include "Label.hpp"
5
6
7 namespace blobs {
8 namespace app {
9         struct Assets;
10 }
11 namespace creature {
12         class Creature;
13 }
14 namespace graphics {
15         class Viewport;
16 }
17 namespace ui {
18
19 class CreaturePanel {
20
21 public:
22         explicit CreaturePanel(const app::Assets &);
23         ~CreaturePanel();
24
25         CreaturePanel(const CreaturePanel &) = delete;
26         CreaturePanel &operator =(const CreaturePanel &) = delete;
27
28         CreaturePanel(CreaturePanel &&) = delete;
29         CreaturePanel &operator =(CreaturePanel &&) = delete;
30
31 public:
32         void Show(creature::Creature &);
33         void Hide() noexcept;
34
35         void Draw(app::Assets &, graphics::Viewport &) noexcept;
36
37 private:
38         creature::Creature *c;
39
40         Label name;
41
42 };
43
44 }
45 }
46
47 #endif