Etterna 0.74.4
Loading...
Searching...
No Matches
StatsManager.h
1#ifndef StatsManager_H
2#define StatsManager_H
3
4#include "Etterna/Models/Misc/StageStats.h"
5
8{
9 public:
12
13 void Reset();
14
20 std::vector<StageStats> m_vPlayedStageStats;
21
22 // Only the latest 3 normal songs + passed extra stages.
23 void GetFinalEvalStageStats(StageStats& statsOut) const;
24
25 // All stages played. Returns a ref to the private member so that
26 // the object will remain alive while Lua is operating on it.
27 void CalcAccumPlayedStageStats();
28 auto GetAccumPlayedStageStats() -> StageStats&
29 {
30 return m_AccumPlayedStageStats;
31 }
32
33 static void CommitStatsToProfiles(const StageStats* pSS);
34 static void AddPlayerStatsToProfile(Profile* pProfile);
35
36 void UnjoinPlayer(PlayerNumber pn);
37 void GetStepsInUse(std::set<Steps*>& apInUseOut) const;
38
39 // Lua
40 void PushSelf(lua_State* L);
41
42 private:
43 StageStats m_AccumPlayedStageStats;
44};
45
46extern StatsManager*
47 STATSMAN; // global and accessible from anywhere in our program
48
49#endif
Player data that persists between sessions.
Definition Profile.h:130
Contains statistics for one stage of play.
Definition StageStats.h:15
Managed non-persisted statistics.
Definition StatsManager.h:8
StageStats m_CurStageStats
The current Stage stats.
Definition StatsManager.h:19