/// <summary> /// This is set to the <see cref="HeathenEngineering.SteamApi.PlayerServices.SteamworksLeaderboardData.UserRankLoaded"/> event in <see cref="RegisterForBoardEvents"/> method /// </summary> /// <param name="eventData">The user data resulting of the load operation</param> void handleUserRankLoaded(HeathenEngineering.SteamApi.PlayerServices.LeaderboardUserData eventData) { Debug.Log("Local user's rank data has been loaded, Rank: " + eventData.entry.m_nGlobalRank + ", Score: " + eventData.entry.m_nScore + ", Details: " + eventData.details); }
private bool ProcessScoresDownloaded(LeaderboardScoresDownloaded_t param, bool bIOFailure) { bool playerIncluded = false; ///Check for the current users data in the record set and update accordingly if (!bIOFailure) { var userId = SteamUser.GetSteamID(); for (int i = 0; i < param.m_cEntryCount; i++) { LeaderboardEntry_t buffer; int[] details = null; if (MaxDetailEntries < 1) { SteamUserStats.GetDownloadedLeaderboardEntry(param.m_hSteamLeaderboardEntries, i, out buffer, details, MaxDetailEntries); } else { details = new int[MaxDetailEntries]; SteamUserStats.GetDownloadedLeaderboardEntry(param.m_hSteamLeaderboardEntries, i, out buffer, details, MaxDetailEntries); } if (buffer.m_steamIDUser.m_SteamID == userId.m_SteamID) { playerIncluded = true; if (!UserEntry.HasValue || UserEntry.Value.m_nGlobalRank != buffer.m_nGlobalRank) { var l = new LeaderboardUserData() { leaderboardName = leaderboardName, leaderboardId = LeaderboardId.Value, entry = buffer, details = details }; var lc = new LeaderboardRankChangeData() { leaderboardName = leaderboardName, leaderboardId = LeaderboardId.Value, newEntry = buffer, oldEntry = UserEntry.HasValue ? new LeaderboardEntry_t?(UserEntry.Value) : null }; UserEntry = buffer; UserRankLoaded.Invoke(l); UserRankChanged.Invoke(lc); if (lc.newEntry.m_nGlobalRank < (lc.oldEntry.HasValue ? lc.oldEntry.Value.m_nGlobalRank : int.MaxValue)) { UserNewHighRank.Invoke(lc); } } else { var l = new LeaderboardUserData() { leaderboardName = leaderboardName, leaderboardId = LeaderboardId.Value, entry = buffer, details = details }; UserEntry = buffer; UserRankLoaded.Invoke(l); } } } } return(playerIncluded); }
private void HandleLeaderboardRankLoaded(LeaderboardUserData arg0) { LeaderboardRankLoaded.Invoke(arg0); }