aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/Leaderboards/LeaderboardInterface.h
blob: 089c482b0f65e7e733eecda64665404261477841 (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
#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();
};