public void DownloadScores(LeaderboardDataRequest dataRequest, int from, int to) { AssertDisposed(); AssertReady(); NativeMethods.Leaderboard_DownloadScores(pointer, dataRequest, from, to); CancelCallback(ref callback); WaitForDone(this, OnDownloadScores); }
/// <summary> /// Request leaderboard /// </summary> /// <param name="request"></param> public void GSRequestLeaderboard(LeaderboardDataRequestData request) { Log.Info("GSRequestLeaderboard"); LeaderboardDataRequest req = new LeaderboardDataRequest(); req.SetLeaderboardShortCode(request.LeaderboardShortCode); req.SetEntryCount(request.entryCount); req.Send(response => { if (response.HasErrors) { Debug.LogWarning("Error in GSRequestLeaderboard()"); Debug.Log("Error: " + response.Errors.JSON); } else { Debug.Log("GSRequestLeaderboard() succeed"); Debug.Log(response.JSONString); var data = response.Data; List <RankData> listModel = new List <RankData>(); foreach (var item in data) { Debug.Log(item.JSONString); RankData rankModel = new RankData(item.UserId, (int)item.GetNumberValue("SCORE"), item.When, item.City, item.Country, item.UserName, item.ExternalIds, (int)item.Rank); Log.Info(rankModel.ToString()); listModel.Add(rankModel); } GameManager.Instance.ListGlobalRankData = listModel; this.PostEvent(EventID.OnRequestLeaderboardDone); } }); }
// SteamAPICall_t public CallbackHandle DownloadLeaderboardEntries(SteamLeaderboard_t hSteamLeaderboard /*SteamLeaderboard_t*/, LeaderboardDataRequest eLeaderboardDataRequest /*ELeaderboardDataRequest*/, int nRangeStart /*int*/, int nRangeEnd /*int*/, Action <LeaderboardScoresDownloaded_t, bool> CallbackFunction = null /*Action<LeaderboardScoresDownloaded_t, bool>*/) { SteamAPICall_t callback = 0; callback = platform.ISteamUserStats_DownloadLeaderboardEntries(hSteamLeaderboard.Value, eLeaderboardDataRequest, nRangeStart, nRangeEnd); if (CallbackFunction == null) { return(null); } if (callback == 0) { return(null); } return(LeaderboardScoresDownloaded_t.CallResult(steamworks, callback, CallbackFunction)); }
internal CallResult <LeaderboardScoresDownloaded_t> DownloadLeaderboardEntries(SteamLeaderboard_t hSteamLeaderboard, LeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd) { var returnValue = _DownloadLeaderboardEntries(Self, hSteamLeaderboard, eLeaderboardDataRequest, nRangeStart, nRangeEnd); return(new CallResult <LeaderboardScoresDownloaded_t>(returnValue)); }
private static extern SteamAPICall_t _DownloadLeaderboardEntries(IntPtr self, SteamLeaderboard_t hSteamLeaderboard, LeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd);
/// <summary> /// Invokes LeaderboardScoresDownloaded /// </summary> /// <param name="handle"></param> /// <param name="dataRequest"></param> /// <param name="start"></param> /// <param name="end"></param> public void DownloadLeaderboardEntries(LeaderboardHandle handle, LeaderboardDataRequest dataRequest, int rangeStart, int rangeEnd) { CheckIfUsable(); NativeMethods.Stats_DownloadLeaderboardEntries(handle.AsUInt64, (int)dataRequest, rangeStart, rangeEnd); }
/// <summary> /// Begin a new LeaderboardDataRequest and deserialize data objects into type T, where T extends GameSparksLeaderboardUserData /// </summary> /// <param name="requestData"></param> /// <returns></returns> public GameSparksLeaderboardCustomDataResponse <T> LeaderboardDataRequest <T>(LeaderboardDataRequest requestData) { return(JsonConvert.DeserializeObject <GameSparksLeaderboardCustomDataResponse <T> >(Requestor.PostString(Urls.LeaderboardDataRequest, JsonHelper.SerializeData(requestData)).ResponseJson)); }
/// <summary> /// Begin a new asynchronous LeaderboardDataRequest where all data items are deserialized to type T /// </summary> /// <param name="requestData"></param> /// <returns></returns> public async Task <GameSparksLeaderboardCustomDataResponse <T> > LeaderboardDataRequestAsync <T>(LeaderboardDataRequest requestData) { var res = await Requestor.PostStringAsync(Urls.LeaderboardDataRequest, JsonHelper.SerializeData(requestData)); return(JsonConvert.DeserializeObject <GameSparksLeaderboardCustomDataResponse <T> >(res.ResponseJson)); }
internal async Task <LeaderboardScoresDownloaded_t?> DownloadLeaderboardEntries(SteamLeaderboard_t hSteamLeaderboard, LeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd) { return(await LeaderboardScoresDownloaded_t.GetResultAsync(_DownloadLeaderboardEntries( Self, hSteamLeaderboard, eLeaderboardDataRequest, nRangeStart, nRangeEnd ))); }
public extern static void Leaderboard_DownloadScores(IntPtr leaderboard, LeaderboardDataRequest data, int from, int to);
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); }