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

summaryrefslogtreecommitdiff
path: root/source/frontend/StarQuestTracker.hpp
blob: 8e3c892788e1a3e23609efd32545bf9d32948110 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#pragma once

#include "StarPane.hpp"

namespace Star {

STAR_CLASS(LabelWidget);
STAR_CLASS(ImageWidget);
STAR_CLASS(ImageStretchWidget);
STAR_CLASS(ProgressWidget);
STAR_CLASS(Quest);

class QuestTrackerPane : public Pane {
public:
  QuestTrackerPane();

  bool sendEvent(InputEvent const& event) override;
  void update(float dt) override;

  void setQuest(QuestPtr const& quest);

private:
  void setExpanded(bool expanded);

  ImageWidgetPtr m_frame;
  ImageStretchWidgetPtr m_expandedFrame;

  LabelWidgetPtr m_questObjectiveList;

  ImageWidgetPtr m_compassFrame;
  ImageWidgetPtr m_compass;

  ImageWidgetPtr m_progressFrame;
  ProgressWidgetPtr m_progress;

  int m_expandedFrameMinHeight;
  int m_expandedFramePadding;

  float m_compassDirection;
  float m_compassSpeed;
  float m_compassAcceleration;
  float m_compassFriction;

  QuestPtr m_currentQuest;
  bool m_expanded;

  String m_compassFrameImage;
  String m_expandedCompassFrameImage;

  String m_progressFrameImage;
  String m_expandedProgressFrameImage;

  String m_incompleteObjectiveTemplate;
  String m_completeObjectiveTemplate;
};

}