aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/Leaderboards/LeaderboardInterface.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/Common/Leaderboards/LeaderboardInterface.h')
-rw-r--r--Minecraft.Client/Common/Leaderboards/LeaderboardInterface.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/Leaderboards/LeaderboardInterface.h b/Minecraft.Client/Common/Leaderboards/LeaderboardInterface.h
new file mode 100644
index 00000000..089c482b
--- /dev/null
+++ b/Minecraft.Client/Common/Leaderboards/LeaderboardInterface.h
@@ -0,0 +1,35 @@
+#pragma once
+
+#include "LeaderboardManager.h"
+
+// 4J-JEV: Simple interface for handling ReadStat failures.
+class LeaderboardInterface
+{
+private:
+ LeaderboardManager *m_manager;
+ bool m_pending;
+
+ // Arguments.
+ LeaderboardManager::EFilterMode m_filter;
+ LeaderboardReadListener *m_callback;
+ int m_difficulty;
+ LeaderboardManager::EStatsType m_type;
+ PlayerUID m_myUID;
+ unsigned int m_startIndex;
+ unsigned int m_readCount;
+
+public:
+ LeaderboardInterface(LeaderboardManager *man);
+ ~LeaderboardInterface();
+
+ void ReadStats_Friends(LeaderboardReadListener *callback, int difficulty, LeaderboardManager::EStatsType type, PlayerUID myUID, unsigned int startIndex, unsigned int readCount);
+ void ReadStats_MyScore(LeaderboardReadListener *callback, int difficulty, LeaderboardManager::EStatsType type, PlayerUID myUID, unsigned int readCount);
+ void ReadStats_TopRank(LeaderboardReadListener *callback, int difficulty, LeaderboardManager::EStatsType type, unsigned int startIndex, unsigned int readCount);
+
+ void CancelOperation();
+
+ void tick();
+
+private:
+ bool callManager();
+}; \ No newline at end of file