public GameCenterChallenge(Dictionary <string, object> dict)
        {
            if (dict.ContainsKey("issuingPlayerID"))
            {
                issuingPlayerID = dict["issuingPlayerID"] as string;
            }

            if (dict.ContainsKey("receivingPlayerID"))
            {
                receivingPlayerID = dict["receivingPlayerID"] as string;
            }

            if (dict.ContainsKey("state"))
            {
                var intState = int.Parse(dict["state"].ToString());
                state = (GameCenterChallengeState)intState;
            }

            // grab and convert the dates
            if (dict.ContainsKey("issueDate"))
            {
                var timeSinceEpoch = double.Parse(dict["issueDate"].ToString());
                var intermediate   = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                issueDate = intermediate.AddSeconds(timeSinceEpoch);
            }

            if (dict.ContainsKey("completionDate"))
            {
                var timeSinceEpoch = double.Parse(dict["completionDate"].ToString());
                var intermediate   = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                completionDate = intermediate.AddSeconds(timeSinceEpoch);
            }

            if (dict.ContainsKey("message"))
            {
                message = dict["message"] as string;
            }

            // do we have a score or an achievement?
            if (dict.ContainsKey("score"))
            {
                score = Json.decodeObject <GameCenterScore>(dict["score"]);
            }

            if (dict.ContainsKey("achievement"))
            {
                achievement = new GameCenterAchievement(dict["achievement"] as Dictionary <string, object>);
            }

            if (dict.ContainsKey("hash"))
            {
                hash = dict["hash"].ToString();
            }
        }
Example #2
0
        // Sends a request to fetch the currently logged in users friends
        public void getFriends(Action <string, FacebookFriendsResult> completionHandler)
        {
            graphRequest("me/friends", (error, obj) =>
            {
                if (completionHandler == null)
                {
                    return;
                }

                if (error != null)
                {
                    completionHandler(error, null);
                }
                else
                {
                    completionHandler(null, Json.decodeObject <FacebookFriendsResult>(obj));
                }
            });
        }