1 #ifndef BLANK_UI_HUD_H_
2 #define BLANK_UI_HUD_H_
4 #include "FixedText.hpp"
5 #include "MessageBox.hpp"
6 #include "../model/EntityModel.hpp"
7 #include "../model/OutlineModel.hpp"
15 class BlockTypeRegistry;
25 explicit HUD(Environment &, Config &, const Player &);
27 HUD(const HUD &) = delete;
28 HUD &operator =(const HUD &) = delete;
31 void FocusBlock(const Chunk &, int);
32 void FocusEntity(const Entity &);
37 void Display(const BlockType &);
42 void UpdatePosition();
43 void UpdateOrientation();
46 void PostMessage(const char *);
47 void PostMessage(const std::string &msg) {
48 PostMessage(msg.c_str());
52 void Render(Viewport &) noexcept;
61 glm::mat4 outline_transform;
66 EntityModel::Buffer block_buf;
67 glm::mat4 block_transform;
68 FixedText block_label;
72 FixedText counter_text;
73 FixedText position_text;
74 FixedText orientation_text;
76 FixedText entity_text;
82 IntervalTimer msg_timer;
85 OutlineModel crosshair;