the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 88 lines 2.4 kB view raw
1#include "stdafx.h" 2#include "LeaderboardInterface.h" 3 4LeaderboardInterface::LeaderboardInterface(LeaderboardManager *man) 5{ 6 m_manager = man; 7 m_pending = false; 8 9 m_filter = (LeaderboardManager::EFilterMode) -1; 10 m_callback = NULL; 11 m_difficulty = 0; 12 m_type = LeaderboardManager::eStatsType_UNDEFINED; 13 m_startIndex = 0; 14 m_readCount = 0; 15 16 m_manager->OpenSession(); 17} 18 19LeaderboardInterface::~LeaderboardInterface() 20{ 21 m_manager->CancelOperation(); 22 m_manager->CloseSession(); 23} 24 25void LeaderboardInterface::ReadStats_Friends(LeaderboardReadListener *callback, int difficulty, LeaderboardManager::EStatsType type, PlayerUID myUID, unsigned int startIndex, unsigned int readCount) 26{ 27 m_filter = LeaderboardManager::eFM_Friends; 28 m_pending = true; 29 30 m_callback = callback; 31 m_difficulty = difficulty; 32 m_type = type; 33 m_myUID = myUID; 34 m_startIndex = startIndex; 35 m_readCount = readCount; 36 37 tick(); 38} 39 40void LeaderboardInterface::ReadStats_MyScore(LeaderboardReadListener *callback, int difficulty, LeaderboardManager::EStatsType type, PlayerUID myUID, unsigned int readCount) 41{ 42 m_filter = LeaderboardManager::eFM_MyScore; 43 m_pending = true; 44 45 m_callback = callback; 46 m_difficulty = difficulty; 47 m_type = type; 48 m_myUID = myUID; 49 m_readCount = readCount; 50 51 tick(); 52} 53 54void LeaderboardInterface::ReadStats_TopRank(LeaderboardReadListener *callback, int difficulty, LeaderboardManager::EStatsType type, unsigned int startIndex, unsigned int readCount) 55{ 56 m_filter = LeaderboardManager::eFM_TopRank; 57 m_pending = true; 58 59 m_callback = callback; 60 m_difficulty = difficulty; 61 m_type = type; 62 m_startIndex = startIndex; 63 m_readCount = readCount; 64 65 tick(); 66} 67 68void LeaderboardInterface::CancelOperation() 69{ 70 m_manager->CancelOperation(); 71 m_pending = false; 72} 73 74void LeaderboardInterface::tick() 75{ 76 if (m_pending) m_pending = !callManager(); 77} 78 79bool LeaderboardInterface::callManager() 80{ 81 switch (m_filter) 82 { 83 case LeaderboardManager::eFM_Friends: return m_manager->ReadStats_Friends(m_callback, m_difficulty, m_type, m_myUID, m_startIndex, m_readCount); 84 case LeaderboardManager::eFM_MyScore: return m_manager->ReadStats_MyScore(m_callback, m_difficulty, m_type, m_myUID, m_readCount); 85 case LeaderboardManager::eFM_TopRank: return m_manager->ReadStats_TopRank(m_callback, m_difficulty, m_type, m_startIndex, m_readCount); 86 default: assert(false); return true; 87 } 88}