]> git.localhorst.tv Git - blank.git/blob - src/ui/HUD.hpp
give unique IDs to entities
[blank.git] / src / ui / HUD.hpp
1 #ifndef BLANK_UI_HUD_H_
2 #define BLANK_UI_HUD_H_
3
4 #include "FixedText.hpp"
5 #include "../model/EntityModel.hpp"
6 #include "../model/OutlineModel.hpp"
7
8 #include <glm/glm.hpp>
9
10
11 namespace blank {
12
13 class Block;
14 class BlockTypeRegistry;
15 class Font;
16 class Viewport;
17
18 class HUD {
19
20 public:
21         HUD(const BlockTypeRegistry &, const Font &);
22
23         HUD(const HUD &) = delete;
24         HUD &operator =(const HUD &) = delete;
25
26         void DisplayNone();
27         void Display(const Block &);
28
29         void Render(Viewport &) noexcept;
30
31 private:
32         const BlockTypeRegistry &types;
33         const Font &font;
34
35         EntityModel block;
36         EntityModel::Buffer block_buf;
37         glm::mat4 block_transform;
38
39         FixedText block_label;
40
41         bool block_visible;
42
43         OutlineModel crosshair;
44
45 };
46
47 }
48
49 #endif