From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- .../Common/Leaderboards/LeaderboardManager.cpp | 106 +++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 Minecraft.Client/Common/Leaderboards/LeaderboardManager.cpp (limited to 'Minecraft.Client/Common/Leaderboards/LeaderboardManager.cpp') diff --git a/Minecraft.Client/Common/Leaderboards/LeaderboardManager.cpp b/Minecraft.Client/Common/Leaderboards/LeaderboardManager.cpp new file mode 100644 index 00000000..33707b14 --- /dev/null +++ b/Minecraft.Client/Common/Leaderboards/LeaderboardManager.cpp @@ -0,0 +1,106 @@ +#include "stdafx.h" + +#include "..\..\..\Minecraft.World\StringHelpers.h" + +#include "LeaderboardManager.h" + +const wstring LeaderboardManager::filterNames[eNumFilterModes] = + { + L"Friends", L"MyScore", L"TopRank" + }; + +void LeaderboardManager::DeleteInstance() +{ + delete m_instance; + m_instance = NULL; +} + +LeaderboardManager::LeaderboardManager() +{ + zeroReadParameters(); + + m_myXUID = INVALID_XUID; +} + +void LeaderboardManager::zeroReadParameters() +{ + m_difficulty = -1; + m_statsType = eStatsType_UNDEFINED; + m_readListener = NULL; + m_startIndex = 0; + m_readCount = 0; + m_eFilterMode = eFM_UNDEFINED; +} + +bool LeaderboardManager::ReadStats_Friends(LeaderboardReadListener *listener, int difficulty, EStatsType type, PlayerUID myUID, unsigned int startIndex, unsigned int readCount) +{ + zeroReadParameters(); + + m_readListener = listener; + m_difficulty = difficulty; + m_statsType = type; + + m_eFilterMode = eFM_Friends; + return true; +} + +bool LeaderboardManager::ReadStats_MyScore(LeaderboardReadListener *listener, int difficulty, EStatsType type, PlayerUID myUID, unsigned int readCount) +{ + zeroReadParameters(); + + m_readListener = listener; + m_difficulty = difficulty; + m_statsType = type; + + m_readCount = readCount; + + m_eFilterMode = eFM_MyScore; + return true; +} + +bool LeaderboardManager::ReadStats_TopRank(LeaderboardReadListener *listener, int difficulty, EStatsType type, unsigned int startIndex, unsigned int readCount) +{ + zeroReadParameters(); + + m_readListener = listener; + m_difficulty = difficulty; + m_statsType = type; + + m_startIndex = startIndex; + m_readCount = readCount; + + m_eFilterMode = eFM_TopRank; + return true; +} + +#ifndef _XBOX +void LeaderboardManager::printStats(ReadView &view) +{ + app.DebugPrintf("[LeaderboardManager] Printing stats:\n" + "\tnumQueries=%i\n", view.m_numQueries); + + for (int i=0; i