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); }
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); }
public void Setup(GC_Leaderboard gcLeaderboard) { gc_Leaderboard = gcLeaderboard; }
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; }
public AMN_ScoresLoadedResult(GC_Leaderboard leaderboard) : base(true) { _Leaderboard = leaderboard; _LeaderboardId = _Leaderboard.Identifier; }