public GKTurnBasedParticipant(Dictionary <string, object> dict) { if (dict == null) { return; } if (dict.ContainsKey("playerId")) { playerId = dict["playerId"].ToString(); } if (dict.ContainsKey("status")) { status = (GKTurnBasedParticipantStatus)int.Parse(dict["status"].ToString()); } if (dict.ContainsKey("matchOutcome")) { matchOutcome = (GKTurnBasedMatchOutcome)int.Parse(dict["matchOutcome"].ToString()); } // grab and convert the date if (dict.ContainsKey("lastTurnDate")) { var timeSinceEpoch = double.Parse(dict["lastTurnDate"].ToString()); var intermediate = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); lastTurnDate = intermediate.AddSeconds(timeSinceEpoch); } }
public static ParticipantStatus ToParticipantStatus(this GKTurnBasedParticipantStatus status) { switch (status) { case GKTurnBasedParticipantStatus.Active: return(ParticipantStatus.Joined); case GKTurnBasedParticipantStatus.Declined: return(ParticipantStatus.Declined); case GKTurnBasedParticipantStatus.Done: return(ParticipantStatus.Done); case GKTurnBasedParticipantStatus.Invited: return(ParticipantStatus.Invited); case GKTurnBasedParticipantStatus.Matching: return(ParticipantStatus.Matching); case GKTurnBasedParticipantStatus.Unknown: default: return(ParticipantStatus.Unknown); } }