Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/frontend/StarStatusPane.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/frontend/StarStatusPane.hpp')
-rw-r--r--source/frontend/StarStatusPane.hpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/source/frontend/StarStatusPane.hpp b/source/frontend/StarStatusPane.hpp
new file mode 100644
index 0000000..54a87a3
--- /dev/null
+++ b/source/frontend/StarStatusPane.hpp
@@ -0,0 +1,41 @@
+#ifndef STAR_STATUSPANE_HPP
+#define STAR_STATUSPANE_HPP
+
+#include "StarPane.hpp"
+#include "StarMainInterfaceTypes.hpp"
+
+namespace Star {
+
+STAR_CLASS(Player);
+STAR_CLASS(UniverseClient);
+STAR_CLASS(StatusPane);
+
+class StatusPane : public Pane {
+public:
+ StatusPane(MainInterfacePaneManager* paneManager, UniverseClientPtr client);
+
+ virtual PanePtr createTooltip(Vec2I const& screenPosition) override;
+
+protected:
+ virtual void renderImpl() override;
+ virtual void update() override;
+
+private:
+ struct StatusEffectIndicator {
+ String icon;
+ Maybe<float> durationPercentage;
+ String label;
+ RectF screenRect;
+ };
+
+ MainInterfacePaneManager* m_paneManager;
+ UniverseClientPtr m_client;
+ PlayerPtr m_player;
+
+ GuiContext* m_guiContext;
+ List<StatusEffectIndicator> m_statusIndicators;
+};
+
+}
+
+#endif