コード例 #1
0
ファイル: AndroidClient.cs プロジェクト: Argensa/Chasy-Legend
        ///<summary></summary>
        /// <seealso cref="GooglePlayGames.BasicApi.IPlayGamesClient.LoadMoreScores"/>
        public void LoadMoreScores(ScorePageToken token, int rowCount,
                                   Action <LeaderboardScoreData> callback)
        {
            using (var client = getLeaderboardsClient())
                using (var task = client.Call <AndroidJavaObject>("loadMoreScores",
                                                                  token.InternalObject, rowCount, AndroidJavaConverter.ToPageDirection(token.Direction)))
                {
                    AndroidTaskUtils.AddOnSuccessListener <AndroidJavaObject>(
                        task,
                        annotatedData =>
                    {
                        using (var leaderboardScores = annotatedData.Call <AndroidJavaObject>("get"))
                        {
                            InvokeCallbackOnGameThread(callback, CreateLeaderboardScoreData(
                                                           token.LeaderboardId,
                                                           token.Collection,
                                                           token.TimeSpan,
                                                           annotatedData.Call <bool>("isStale")
                                    ? ResponseStatus.SuccessWithStale
                                    : ResponseStatus.Success,
                                                           leaderboardScores));
                            leaderboardScores.Call("release");
                        }
                    });

                    AndroidTaskUtils.AddOnFailureListener(
                        task,
                        exception =>
                    {
                        Debug.Log("LoadMoreScores failed");
                        InvokeCallbackOnGameThread(callback,
                                                   new LeaderboardScoreData(token.LeaderboardId, ResponseStatus.InternalError));
                    });
                }
        }