public override void Create(System.Collections.Generic.Dictionary <string, object> dataDict) { Debug.Log("IgniteLeaderBoard:Create"); base.Create(dataDict); if (dataDict.ContainsKey("currentUserId")) { this.CurrentUserId = Convert.ToString(dataDict["currentUserId"]); } if (dataDict.ContainsKey("rule")) { System.Collections.Generic.Dictionary <string, object> leaderBoardRuleDict = dataDict["rule"] as System.Collections.Generic.Dictionary <string, object>; this.Rule = LeaderBoardRuleData.ParseFromDictionary(leaderBoardRuleDict); } this.Leaders = new System.Collections.Generic.List <LeaderData>(); if (dataDict.ContainsKey("leaderList")) { System.Collections.Generic.Dictionary <string, object> leaderListDict = dataDict["leaderList"] as System.Collections.Generic.Dictionary <string, object>; if (leaderListDict.ContainsKey("leaders")) { System.Collections.Generic.List <object> leaderList = leaderListDict["leaders"] as System.Collections.Generic.List <object>; int position = 1; foreach (object leaderObject in leaderList) { System.Collections.Generic.Dictionary <string, object> leaderDict = leaderObject as System.Collections.Generic.Dictionary <string, object>; LeaderData leaderData = LeaderData.ParseFromDictionary(leaderDict); if (this.CurrentUserId == leaderData.Id) { leaderData.IsCurrentUser = true; } leaderData.Rank = position; this.Leaders.Add(leaderData); position++; } } } if (dataDict.ContainsKey("metadata")) { System.Collections.Generic.Dictionary <string, object> metadataDict = dataDict["metadata"] as System.Collections.Generic.Dictionary <string, object>; this.Metadata = LeaderBoardMetadata.ParseFromDictionary(metadataDict); } }
public static LeaderBoardRuleData ParseFromDictionary(System.Collections.Generic.Dictionary <string, object> leaderBoardRuleDict) { LeaderBoardRuleData leaderBoardRuleData = new LeaderBoardRuleData(); if (leaderBoardRuleDict.ContainsKey("id")) { leaderBoardRuleData.Id = Convert.ToString(leaderBoardRuleDict["id"]); } if (leaderBoardRuleDict.ContainsKey("variable")) { leaderBoardRuleData.Variable = Convert.ToString(leaderBoardRuleDict["variable"]); } if (leaderBoardRuleDict.ContainsKey("kind")) { leaderBoardRuleData.Kind = Convert.ToInt32(leaderBoardRuleDict["kind"]); } if (leaderBoardRuleDict.ContainsKey("score")) { leaderBoardRuleData.Score = Convert.ToInt32(leaderBoardRuleDict["score"]); } return(leaderBoardRuleData); }