public Match(JSONDict jsonData) { Description = jsonData.SafeGetStringValue("matchDescription"); EntryCash = (float)jsonData.SafeGetDoubleValue("entryCash"); EntryPoints = jsonData.SafeGetIntValue("entryPoints"); ID = jsonData.SafeGetIntValue("id"); TemplateID = jsonData.SafeGetIntValue("templateId"); Name = jsonData.SafeGetStringValue("name"); IsCash = jsonData.SafeGetBoolValue("isCash"); IsSynchronous = (bool)jsonData.SafeGetBoolValue("isSynchronous"); object players = jsonData.SafeGetValue("players"); Players = new List <Player>(); List <object> playerArray = (List <object>)players; foreach (object player in playerArray) { Players.Add(new Player((Dictionary <string, object>)player)); } var connectionInfoJson = jsonData.SafeGetValue("connectionInfo") as JSONDict; CustomServerConnectionInfo = connectionInfoJson != null ? new CustomServerConnectionInfo(connectionInfoJson) : null; #if UNITY_IOS GameParams = new Dictionary <string, string>(); object parameters = jsonData.SafeGetValue("gameParameters"); if (parameters != null && parameters.GetType() == typeof(JSONDict)) { foreach (KeyValuePair <string, object> kvp in (JSONDict)parameters) { if (kvp.Value == null) { continue; } string val = kvp.Value.ToString(); if (kvp.Key == "skillz_difficulty") { SkillzDifficulty = Helpers.SafeUintParse(val); } else { GameParams.Add(kvp.Key, val); } } } #elif UNITY_ANDROID GameParams = HashtableToDictionary(Skillz.GetMatchRules()); SkillzDifficulty = jsonData.SafeGetUintValue("skillzDifficulty"); #endif }
private void SetSyncMatchSettings(SkillzSDK.Match matchInfo) { SkillzSDK.CustomServerConnectionInfo info = matchInfo.CustomServerConnectionInfo; UserData.Instance.SyncUrl = info.ServerIp; UserData.Instance.SyncPort = (uint)int.Parse(info.ServerPort); UserData.Instance.SyncMatchToken = info.MatchToken; UserData.Instance.SyncMatchId = info.MatchId; UserData.Instance.IsGameOver = false; foreach (SkillzSDK.Player player in matchInfo.Players) { if (player.IsCurrentPlayer) { UserData.Instance.CurrentPlayerId = (long)player.ID; UserData.Instance.CurrentPlayerAvatarUrl = player.AvatarURL; UserData.Instance.CurrentPlayerName = player.DisplayName; } else { UserData.Instance.OpponentAvatarUrl = player.AvatarURL; UserData.Instance.OpponentName = player.DisplayName; } } }