6352e8e319
all at once
37 lines
703 B
C++
37 lines
703 B
C++
#ifndef STAR_QUEST_INDICATOR_PAINTER_HPP
|
|
#define STAR_QUEST_INDICATOR_PAINTER_HPP
|
|
|
|
#include "StarWorldCamera.hpp"
|
|
#include "StarWorldClient.hpp"
|
|
|
|
namespace Star {
|
|
|
|
STAR_CLASS(UniverseClient);
|
|
STAR_CLASS(QuestIndicatorPainter);
|
|
|
|
class QuestIndicatorPainter {
|
|
public:
|
|
QuestIndicatorPainter(UniverseClientPtr const& client);
|
|
|
|
void update(WorldClientPtr const& world, WorldCamera const& camera);
|
|
void render();
|
|
|
|
private:
|
|
struct Indicator {
|
|
Drawable render(float pixelRatio) const;
|
|
|
|
EntityId entityId;
|
|
Vec2F screenPos;
|
|
String indicatorName;
|
|
AnimationPtr animation;
|
|
};
|
|
|
|
UniverseClientPtr m_client;
|
|
WorldCamera m_camera;
|
|
Map<EntityId, Indicator> m_indicators;
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|