osb/source/frontend/StarStatusPane.hpp
2024-02-25 15:46:47 +01:00

39 lines
775 B
C++

#pragma once
#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(float dt) 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;
};
}