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(); } }
// 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)); } }); }