summaryrefslogtreecommitdiffstats
path: root/src/Statistics.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Statistics.h')
-rw-r--r--src/Statistics.h26
1 files changed, 5 insertions, 21 deletions
diff --git a/src/Statistics.h b/src/Statistics.h
index 5944ba8fa..38d2f0f7e 100644
--- a/src/Statistics.h
+++ b/src/Statistics.h
@@ -25,35 +25,19 @@ exported from the server https://wiki.vg/Data_Generators
/** Class that manages the statistics and achievements of a single player. */
-class cStatManager
+struct StatisticsManager
{
-public:
-
typedef unsigned StatValue;
- typedef std::unordered_map<Statistic, StatValue> CustomStore;
- /** Set the value of the specified statistic. */
- void SetValue(Statistic a_Stat, StatValue a_Value);
+ // TODO: Block tallies, entities killed, all the others
- /** Increments the specified statistic. Returns the new value. */
- StatValue AddValue(Statistic a_Stat, StatValue a_Delta = 1);
+ std::unordered_map<CustomStatistic, StatValue> Custom;
/** Returns whether the prerequisite for awarding an achievement are satisfied. */
- bool SatisfiesPrerequisite(Statistic a_Stat);
-
- /** Invokes the given callbacks for each category of tracked statistics. */
- template <class CustomCallback>
- void ForEachStatisticType(CustomCallback a_Custom) const
- {
- a_Custom(m_CustomStatistics);
- }
+ bool SatisfiesPrerequisite(CustomStatistic a_Stat) const;
private:
/** Returns if a statistic is both present and has nonzero value. */
- bool IsStatisticPresent(Statistic a_Stat) const;
-
- // TODO: Block tallies, entities killed, all the others
-
- CustomStore m_CustomStatistics;
+ bool IsStatisticPresent(CustomStatistic a_Stat) const;
};