Example #1
0
    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);
        }
    }
Example #2
0
    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);
    }