// SteamAPICall_t public CallbackHandle FindOrCreateLeaderboard(string pchLeaderboardName /*const char **/, LeaderboardSortMethod eLeaderboardSortMethod /*ELeaderboardSortMethod*/, LeaderboardDisplayType eLeaderboardDisplayType /*ELeaderboardDisplayType*/, Action <LeaderboardFindResult_t, bool> CallbackFunction = null /*Action<LeaderboardFindResult_t, bool>*/) { SteamAPICall_t callback = 0; callback = platform.ISteamUserStats_FindOrCreateLeaderboard(pchLeaderboardName, eLeaderboardSortMethod, eLeaderboardDisplayType); if (CallbackFunction == null) { return(null); } if (callback == 0) { return(null); } return(LeaderboardFindResult_t.CallResult(steamworks, callback, CallbackFunction)); }
public Leaderboard GetLeaderboard(string name, LeaderboardSortMethod sortMethod = LeaderboardSortMethod.None, LeaderboardDisplayType displayType = LeaderboardDisplayType.None) { var board = new Leaderboard(this); native.userstats.FindOrCreateLeaderboard(name, (SteamNative.LeaderboardSortMethod)sortMethod, (SteamNative.LeaderboardDisplayType)displayType, board.OnBoardCreated); return(board); }
/// <summary> /// Invokes LeaderboardFindResult. /// </summary> /// <param name="name"></param> /// <param name="sortMethod"></param> /// <param name="displayType"></param> public void FindOrCreateLeaderboard(string name, LeaderboardSortMethod sortMethod, LeaderboardDisplayType displayType) { CheckIfUsable(); NativeMethods.Stats_FindOrCreateLeaderboard(name, (int)sortMethod, (int)displayType); }
void TestStats() { IStats stats = null; LeaderboardHandle lHandle = default(LeaderboardHandle); LeaderboardEntriesHandle leHandle = default(LeaderboardEntriesHandle); LeaderboardEntry entry = default(LeaderboardEntry); LeaderboardSortMethod sort = LeaderboardSortMethod.None; LeaderboardDisplayType display = LeaderboardDisplayType.None; LeaderboardDataRequest request = LeaderboardDataRequest.Friends; LeaderboardUploadScoreMethod score = LeaderboardUploadScoreMethod.None; switch (sort) { case LeaderboardSortMethod.None: break; case LeaderboardSortMethod.Ascending: break; case LeaderboardSortMethod.Descending: break; default: break; } switch (display) { case LeaderboardDisplayType.None: break; case LeaderboardDisplayType.Numeric: break; case LeaderboardDisplayType.TimeSeconds: break; case LeaderboardDisplayType.TimeMilliSeconds: break; default: break; } switch (request) { case LeaderboardDataRequest.Global: break; case LeaderboardDataRequest.GlobalAroundUser: break; case LeaderboardDataRequest.Friends: break; case LeaderboardDataRequest.Users: break; default: break; } switch (score) { case LeaderboardUploadScoreMethod.None: break; case LeaderboardUploadScoreMethod.KeepBest: break; case LeaderboardUploadScoreMethod.ForceUpdate: break; default: break; } stats.UserStatsReceived += (UserStatsReceived x) => { }; stats.UserStatsStored += (UserStatsStored x) => { }; stats.UserAchievementStored += (UserAchievementStored x) => { }; stats.LeaderboardFindResult += (LeaderboardFindResult x, bool y) => { }; stats.LeaderboardScoresDownloaded += (LeaderboardScoresDownloaded x, bool y) => { }; stats.LeaderboardScoreUploaded += (LeaderboardScoreUploaded x, bool y) => { }; stats.LeaderboardUGCSet += (LeaderboardUGCSet x, bool y) => { }; stats.NumberOfCurrentPlayers += (NumberOfCurrentPlayers x, bool y) => { }; stats.UserStatsUnloaded += (UserStatsUnloaded x) => { }; stats.UserAchievementIconFetched += (UserAchievementIconFetched x) => { }; stats.GlobalAchievementPercentagesReady += (GlobalAchievementPercentagesReady x, bool y) => { }; stats.GlobalStatsReceived += (GlobalStatsReceived x, bool y) => { }; b = stats.RequestCurrentStats(); b = stats.GetStat(s, out i); b = stats.GetStat(s, out f); b = stats.SetStat(s, i); b = stats.SetStat(s, f); b = stats.UpdateAverageRateStat(s, f, d); b = stats.GetAchievement(s, out b); b = stats.SetAchievement(s); b = stats.ClearAchievement(s); b = stats.GetAchievementAndUnlockTime(s, out b, out ui); b = stats.StoreStats(); s = stats.GetAchievementDisplayAttribute(s, s); b = stats.IndicateAchievementProgress(s, ui, ui); stats.RequestUserStats(steamID); b = stats.GetUserStat(steamID, s, out i); b = stats.GetUserStat(steamID, s, out f); b = stats.GetUserAchievement(steamID, s, out b); b = stats.GetUserAchievementAndUnlockTime(steamID, s, out b, out ui); b = stats.ResetAllStats(b); stats.FindOrCreateLeaderboard(s, sort, display); stats.FindLeaderboard(s); s = stats.GetLeaderboardName(lHandle); i = stats.GetLeaderboardEntryCount(lHandle); sort = stats.GetLeaderboardSortMethod(lHandle); display = stats.GetLeaderboardDisplayType(lHandle); stats.DownloadLeaderboardEntries(lHandle, request, i, i); stats.DownloadLeaderboardEntriesForUsers(lHandle, sia); b = stats.GetDownloadedLeaderboardEntry(leHandle, i, out entry, ia); stats.UploadLeaderboardScore(lHandle, score, i, ia); stats.AttachLeaderboardUGC(lHandle, ugcHandle); stats.GetNumberOfCurrentPlayers(); stats.RequestGlobalAchievementPercentages(); i = stats.GetMostAchievedAchievementInfo(out s, out f, out b); i = stats.GetNextMostAchievedAchievementInfo(i, out s, out f, out b); b = stats.GetAchievementAchievedPercent(s, out f); stats.RequestGlobalStats(i); b = stats.GetGlobalStat(s, out l); b = stats.GetGlobalStat(s, out d); i = stats.GetGlobalStatHistory(s, out la, i); i = stats.GetGlobalStatHistory(s, out da, i); }