public new static AGSRequestPercentilesForPlayerResponse FromJSON(string json) { try { AGSRequestPercentilesForPlayerResponse response = new AGSRequestPercentilesForPlayerResponse(); Hashtable hashtable = json.hashtableFromJson(); response.error = hashtable.ContainsKey("error") ? hashtable ["error"].ToString() : ""; response.userData = hashtable.ContainsKey("userData") ? int.Parse(hashtable ["userData"].ToString()) : 0; response.leaderboardId = hashtable.ContainsKey("leaderboardId") ? hashtable ["leaderboardId"].ToString() : ""; if (hashtable.ContainsKey("leaderboard")) { response.leaderboard = AGSLeaderboard.fromHashtable(hashtable ["leaderboard"] as Hashtable); } else { response.leaderboard = AGSLeaderboard.GetBlankLeaderboard(); } response.percentiles = new List <AGSLeaderboardPercentile> (); if (hashtable.Contains("percentiles")) { foreach (Hashtable percentileHashtable in hashtable["percentiles"] as ArrayList) { response.percentiles.Add(AGSLeaderboardPercentile.fromHashTable(percentileHashtable)); } } response.userIndex = hashtable.ContainsKey("userIndex") ? int.Parse(hashtable ["userIndex"].ToString()) : -1; response.scope = (LeaderboardScope)Enum.Parse(typeof(LeaderboardScope), hashtable["scope"].ToString()); response.playerId = hashtable.ContainsKey("playerId") ? hashtable ["playerId"].ToString() : ""; return(response); } catch (Exception e) { AGSClient.LogGameCircleError(e.ToString()); return(GetBlankResponseWithError(JSON_PARSE_ERROR)); } }
/// <summary> /// callback method for native code to communicate events back to unity /// </summary> public static void RequestPercentileRanksSucceeded(string json) { if (RequestPercentileRanksSucceededEvent != null) { var ht = json.hashtableFromJson(); AGSLeaderboard leaderboard = AGSLeaderboard.fromHashtable(ht["leaderboard"] as Hashtable); var arrayList = (ht["percentiles"] as ArrayList); List <AGSLeaderboardPercentile> percentiles = new List <AGSLeaderboardPercentile>(); foreach (Hashtable pht in arrayList) { percentiles.Add(AGSLeaderboardPercentile.fromHashTable(pht)); } int localPlayerIndex = int.Parse(ht["localPlayerIndex"].ToString()); RequestPercentileRanksSucceededEvent(leaderboard, percentiles, localPlayerIndex); } }