Esempio n. 1
0
            public void DownloadScores(LeaderboardDataRequest dataRequest, int from, int to)
            {
                AssertDisposed();
                AssertReady();

                NativeMethods.Leaderboard_DownloadScores(pointer, dataRequest, from, to);
                CancelCallback(ref callback);
                WaitForDone(this, OnDownloadScores);
            }
Esempio n. 2
0
        /// <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);
                }
            });
        }
Esempio n. 3
0
        // 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 )));
 }
Esempio n. 10
0
 /// <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);
 }
Esempio n. 11
0
 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);
        }