-
Notifications
You must be signed in to change notification settings - Fork 6
/
huntinfogenerator.h
103 lines (83 loc) · 1.87 KB
/
huntinfogenerator.h
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#ifndef HUNTINFOGENERATOR_H
#define HUNTINFOGENERATOR_H
#include <QObject>
#include <QSet>
#include "logevent.h"
class QSettings;
namespace Yate {
class HuntInfo;
class NightInfo;
class RunInfo;
class CapInfo;
enum class HuntStateStage {
Initial,
TerralytSpawn,
Spawned,
Limbs,
Healing,
Capped,
Killed,
LootDropped,
ShrineEnabled,
ShardInserted,
};
enum class HuntStateChangeType {
Watershield,
LimbBreak,
CapShot
};
class HuntState {
public:
HuntState();
HuntStateStage stage() const;
void setStage(HuntStateStage newStage);
int limbNumber() const;
void setLimbNumber(int newLimbNumber);
int eidolonNumber() const;
void setEidolonNumber(int newEidolonNumber);
void reset();
private:
HuntStateStage stage_;
int limbNumber_;
int eidolonNumber_;
};
class HuntInfoGenerator: public QObject
{
Q_OBJECT
public:
HuntInfoGenerator(QObject *parent = nullptr);
HuntInfo *huntInfo() const;
~HuntInfoGenerator();
float getLastEventTime() const;
void setLastEventTime(float newLastEventTime);
void emitLimbsUpdate();
public slots:
void onLogEvent(LogEvent &e);
void resetHuntInfo();
signals:
void onHuntStateChanged(QString);
void onLimbsChanged(QString);
void onHostChanged(QString);
void onSquadChanged(QSet<QString>);
void onHostOrSquadChanged(QString);
private:
HuntInfo* huntInfo_;
QSettings *settings_;
HuntState state_;
float lastEventTime_;
float firstSetStartTime_;
LogEvent lastEvent_;
int currentCapIndex_;
int currentRunIndex_;
int currentNightIndex_;
bool nightEnded_;
float shrineDelay_;
float doorOpeningTimestamp_;
bool showLimbsSummary_;
bool showLimbsSummaryAfterLast_;
int limbsSummaryPrec_;
QString host_;
QSet<QString> squadBuffer_;
};
}
#endif // HUNTINFOGENERATOR_H