/// Loads the scores. public void LoadScores(string leaderboardID, Action <IScore[]> callback) { var leaderboard = LumosSocial.GetLeaderboard(leaderboardID); if (leaderboard == null) { leaderboard = new LumosLeaderboard(); leaderboard.id = leaderboardID; leaderboard.LoadDescription( success => { if (success) { LoadScoresFromLeaderboard(leaderboard, callback); } else { callback(null); } } ); } else { LoadScoresFromLeaderboard(leaderboard, callback); } }
/// <summary> /// Loads a leaderboard with only friend scores. /// </summary> /// <param name="callback">Callback.</param> public void LoadFriendLeaderboardScores(Action <bool> callback) { var endpoint = "/users/" + id + "/friends/scores"; LumosRequest.Send(LumosSocial.instance, endpoint, LumosRequest.Method.GET, success => { var resp = success as IList; var leaderboards = new LumosLeaderboard[resp.Count]; for (int i = 0; i < resp.Count; i++) { leaderboards[i] = new LumosLeaderboard(resp[i] as Dictionary <string, object>); } foreach (var leaderboard in leaderboards) { var current = LumosSocial.GetLeaderboard(leaderboard.id); // Leaderboard already exists; update friend scores only. if (current != null) { current.friendScores = leaderboard.friendScores; } // Leaderboard doesn't exist yet; add entire leaderboard. else { LumosSocial.AddLeaderboard(leaderboard); } } if (callback != null) { callback(true); } }, error => { if (callback != null) { callback(false); } }); }