Пример #1
0
    private void OnTopScoresLoaded(AGSRequestScoresResponse response)
    {
        AMN_ScoresLoadedResult result = null;

        if (response.IsError())
        {
            Debug.Log("[OnTopScoresLoaded] error " + response.error);
            result = new AMN_ScoresLoadedResult(response.leaderboardId, response.error);
        }
        else
        {
            Debug.Log("[OnTopScoresLoaded] " + response.scores.Count + " scores loaded");
            GC_Leaderboard lb = GetLeaderboard(response.leaderboardId);
            if (lb != null)
            {
                foreach (AGSScore score in response.scores)
                {
                    Debug.Log(string.Format("[OnTopScoresLoaded] AGSScore {0}|{1}|{2}|{3}|{4}",
                                            score.player.playerId,
                                            response.leaderboardId,
                                            score.rank,
                                            score.scoreValue,
                                            response.scope.GetGCTimeSpan().ToString()));

                    GC_Player player = new GC_Player(score.player);
                    AddPlayer(player);

                    GC_Score s = new GC_Score(score.player.playerId, response.leaderboardId, score.rank, score.scoreValue, response.scope.GetGCTimeSpan());
                    lb.UpdateScore(s);
                }
            }
            result = new AMN_ScoresLoadedResult(lb);
        }

        OnScoresLoaded(result);
    }
Пример #2
0
    private void OnLocalPlayerScoresLoaded(AGSRequestScoreResponse response)
    {
        AMN_LocalPlayerScoreLoadedResult result = null;

        if (response.IsError())
        {
            Debug.Log("[OnLocalPlayerScoresLoaded] error " + response.error);
            result = new AMN_LocalPlayerScoreLoadedResult(response.leaderboardId, response.scope.GetGCTimeSpan(), response.error);
        }
        else
        {
            Debug.Log("[OnLocalPlayerScoresLoaded] success " + response.rank + " " + response.score);
            result = new AMN_LocalPlayerScoreLoadedResult(response.leaderboardId, response.scope.GetGCTimeSpan(), response.rank, response.score);

            GC_Leaderboard leaderboard = GetLeaderboard(response.leaderboardId);
            if (leaderboard != null)
            {
                GC_Score score = new GC_Score(SA_AmazonGameCircleManager.Instance.Player.PlayerId, response.leaderboardId, response.rank, response.score, response.scope.GetGCTimeSpan());
                leaderboard.UpdateCurrentPlayerScore(score);
            }
        }

        OnLocalPlayerScoreLoaded(result);
    }
Пример #3
0
 public void Setup(GC_Leaderboard gcLeaderboard)
 {
     gc_Leaderboard = gcLeaderboard;
 }
Пример #4
0
    void GameCircleSettings()
    {
        EditorGUILayout.Space();
        EditorGUILayout.HelpBox("Game Circle Configuration", MessageType.None);



        EditorGUI.BeginChangeCheck();
        AmazonNativeSettings.Instance.IsGameCircleEnabled = SA.Common.Editor.Tools.ToggleFiled("Game Circle API", AmazonNativeSettings.Instance.IsGameCircleEnabled);
        if (EditorGUI.EndChangeCheck())
        {
            UpdatePluginSettings();
        }

        GUI.enabled = AmazonNativeSettings.Instance.IsGameCircleEnabled;

        EditorGUILayout.Space();
        EditorGUILayout.HelpBox("Leaderboards Info", MessageType.None);


        EditorGUI.indentLevel++; {
            EditorGUILayout.BeginVertical(GUI.skin.box);

            EditorGUILayout.BeginHorizontal();
            AmazonNativeSettings.Instance.ShowLeaderboards = EditorGUILayout.Foldout(AmazonNativeSettings.Instance.ShowLeaderboards, "Leaderboards");



            EditorGUILayout.EndHorizontal();


            if (AmazonNativeSettings.Instance.ShowLeaderboards)
            {
                EditorGUILayout.Space();

                foreach (GC_Leaderboard leaderboard in AmazonNativeSettings.Instance.Leaderboards)
                {
                    EditorGUILayout.BeginVertical(GUI.skin.box);

                    EditorGUILayout.BeginHorizontal();



                    if (leaderboard.Texture != null)
                    {
                        GUILayout.Box(leaderboard.Texture, ImageBoxStyle, new GUILayoutOption[] { GUILayout.Width(18), GUILayout.Height(18) });
                    }

                    leaderboard.IsOpen = EditorGUILayout.Foldout(leaderboard.IsOpen, leaderboard.Title);



                    bool ItemWasRemoved = SA.Common.Editor.Tools.SrotingButtons((object)leaderboard, AmazonNativeSettings.Instance.Leaderboards);
                    if (ItemWasRemoved)
                    {
                        return;
                    }


                    EditorGUILayout.EndHorizontal();

                    if (leaderboard.IsOpen)
                    {
                        EditorGUILayout.BeginHorizontal();
                        EditorGUILayout.LabelField(L_IdDLabel);
                        leaderboard.Identifier = EditorGUILayout.TextField(leaderboard.Identifier);
                        if (leaderboard.Identifier.Length > 0)
                        {
                            leaderboard.Identifier = leaderboard.Identifier.Trim();
                        }
                        EditorGUILayout.EndHorizontal();


                        EditorGUILayout.BeginHorizontal();
                        EditorGUILayout.LabelField(L_DisplayNameLabel);
                        leaderboard.Title = EditorGUILayout.TextField(leaderboard.Title);
                        EditorGUILayout.EndHorizontal();


                        EditorGUILayout.Space();
                        EditorGUILayout.Space();


                        EditorGUILayout.BeginHorizontal();
                        EditorGUILayout.LabelField(L_DescriptionLabel);
                        EditorGUILayout.EndHorizontal();

                        EditorGUILayout.BeginHorizontal();
                        leaderboard.Description = EditorGUILayout.TextArea(leaderboard.Description, new GUILayoutOption[] { GUILayout.Height(60), GUILayout.Width(200) });
                        leaderboard.Texture     = (Texture2D)EditorGUILayout.ObjectField("", leaderboard.Texture, typeof(Texture2D), false);
                        EditorGUILayout.EndHorizontal();
                    }

                    EditorGUILayout.EndVertical();
                }

                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.Space();
                if (GUILayout.Button("Add new", EditorStyles.miniButton, GUILayout.Width(250)))
                {
                    GC_Leaderboard lb = new GC_Leaderboard();
                    AmazonNativeSettings.Instance.Leaderboards.Add(lb);
                }

                EditorGUILayout.Space();
                EditorGUILayout.EndHorizontal();
                EditorGUILayout.Space();
            }

            EditorGUILayout.EndVertical();
        } EditorGUI.indentLevel--;



        EditorGUILayout.Space();
        EditorGUILayout.HelpBox("Achievements Info", MessageType.None);

        EditorGUI.indentLevel++; {
            EditorGUILayout.BeginVertical(GUI.skin.box);

            EditorGUILayout.BeginHorizontal();
            AmazonNativeSettings.Instance.ShowAchievementsParams = EditorGUILayout.Foldout(AmazonNativeSettings.Instance.ShowAchievementsParams, "Achievements");



            EditorGUILayout.EndHorizontal();


            if (AmazonNativeSettings.Instance.ShowAchievementsParams)
            {
                EditorGUILayout.Space();

                foreach (GC_Achievement achievement in AmazonNativeSettings.Instance.Achievements)
                {
                    EditorGUILayout.BeginVertical(GUI.skin.box);

                    EditorGUILayout.BeginHorizontal();



                    if (achievement.Texture != null)
                    {
                        GUILayout.Box(achievement.Texture, ImageBoxStyle, new GUILayoutOption[] { GUILayout.Width(18), GUILayout.Height(18) });
                    }

                    achievement.IsOpen = EditorGUILayout.Foldout(achievement.IsOpen, achievement.Title);



                    bool ItemWasRemoved = SA.Common.Editor.Tools.SrotingButtons((object)achievement, AmazonNativeSettings.Instance.Achievements);
                    if (ItemWasRemoved)
                    {
                        return;
                    }


                    EditorGUILayout.EndHorizontal();

                    if (achievement.IsOpen)
                    {
                        EditorGUILayout.BeginHorizontal();
                        EditorGUILayout.LabelField(A_IdDLabel);
                        achievement.Identifier = EditorGUILayout.TextField(achievement.Identifier);
                        if (achievement.Identifier.Length > 0)
                        {
                            achievement.Identifier = achievement.Identifier.Trim();
                        }
                        EditorGUILayout.EndHorizontal();


                        EditorGUILayout.BeginHorizontal();
                        EditorGUILayout.LabelField(A_DisplayNameLabel);
                        achievement.Title = EditorGUILayout.TextField(achievement.Title);
                        EditorGUILayout.EndHorizontal();


                        EditorGUILayout.Space();
                        EditorGUILayout.Space();


                        EditorGUILayout.BeginHorizontal();
                        EditorGUILayout.LabelField(A_DescriptionLabel);
                        EditorGUILayout.EndHorizontal();

                        EditorGUILayout.BeginHorizontal();
                        achievement.Description = EditorGUILayout.TextArea(achievement.Description, new GUILayoutOption[] { GUILayout.Height(60), GUILayout.Width(200) });
                        achievement.Texture     = (Texture2D)EditorGUILayout.ObjectField("", achievement.Texture, typeof(Texture2D), false);
                        EditorGUILayout.EndHorizontal();
                    }

                    EditorGUILayout.EndVertical();
                }

                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.Space();
                if (GUILayout.Button("Add new", EditorStyles.miniButton, GUILayout.Width(250)))
                {
                    GC_Achievement achievement = new GC_Achievement();
                    AmazonNativeSettings.Instance.Achievements.Add(achievement);
                }

                EditorGUILayout.Space();
                EditorGUILayout.EndHorizontal();
                EditorGUILayout.Space();
            }

            EditorGUILayout.EndVertical();
        } EditorGUI.indentLevel--;


        GUI.enabled = true;
    }
Пример #5
0
 public AMN_ScoresLoadedResult(GC_Leaderboard leaderboard) : base(true)
 {
     _Leaderboard   = leaderboard;
     _LeaderboardId = _Leaderboard.Identifier;
 }