private void OnLeaderboardScoreUploaded(LeaderboardScoreUploaded_t pCallback, bool bIOFailure) { if (!bIOFailure) { KeyValuePair <string, SteamLeaderboard_t?>?entry = leaderbordsStatus.Where(y => y.Value == pCallback.m_hSteamLeaderboard).FirstOrDefault(); if (entry != null) { string leaderboardId = entry.Value.Key; LeaderboardScoreEntryArg arg = new LeaderboardScoreEntryArg(leaderboardId, pCallback.m_nGlobalRankNew, pCallback.m_nScore); RaiseGameServiceEvent(new GameServiceEvent(GameServiceEventType.LeaderboardScoreReady, arg)); } } }
private void OnLeaderboardScoresDownloaded(LeaderboardScoresDownloaded_t pCallback, bool bIOFailure) { LeaderboardScoreEntryArg arg = new LeaderboardScoreEntryArg("", -1, 0); if (pCallback.m_hSteamLeaderboard != null) { KeyValuePair <string, SteamLeaderboard_t?>?entry = leaderbordsStatus.Where(y => y.Value == pCallback.m_hSteamLeaderboard).FirstOrDefault(); if (entry != null) { arg.LeaderboardId = entry.Value.Key; } } if (!bIOFailure) { SteamLeaderboardEntries_t m_SteamLeaderboardEntries = pCallback.m_hSteamLeaderboardEntries; LeaderboardEntry_t LeaderboardEntry; bool ret = SteamUserStats.GetDownloadedLeaderboardEntry(m_SteamLeaderboardEntries, 0, out LeaderboardEntry, null, 0); if (ret) { arg.Rank = LeaderboardEntry.m_nGlobalRank; arg.Score = LeaderboardEntry.m_nScore; } else { arg.Rank = -1; } } else { arg.Rank = -1; } if (!string.IsNullOrEmpty(arg.LeaderboardId)) { RaiseGameServiceEvent(new GameServiceEvent(GameServiceEventType.LeaderboardScoreReady, arg)); } }