public void SetParams(string json) {
Sync(() => {
if (json == null) {
_model.Reset();
return;
}
var obj = JObject.Parse(json);
_model.CarId = obj.GetStringValueOnly("REMOTE/REQUESTED_CAR");
_model.TrackId = obj.GetStringValueOnly("track");
_model.CarSkinId = obj.GetStringValueOnly("CAR_0/SKIN"); ;
_model.Server = new ServerInformation(
obj.GetStringValueOnly("REMOTE/SERVER_IP"),
obj.GetIntValueOnly("REMOTE/SERVER_PORT"),
obj.GetIntValueOnly("REMOTE/SERVER_HTTP_PORT"),
obj.GetStringValueOnly("REMOTE/PASSWORD"),
obj.GetStringValueOnly("REMOTE/SERVER_NAME"));
Logging.Debug(obj.GetStringValueOnly("REMOTE/NAME"));
_model.Player = new PlayerInformation(
obj.GetStringValueOnly("REMOTE/NAME"),
obj.GetStringValueOnly("REMOTE/TEAM"),
obj.GetStringValueOnly("CAR_0/NATIONALITY"));
var secondsLeft = obj.GetIntValueOnly("time");
_model.StartTime = secondsLeft.HasValue ? DateTime.Now + TimeSpan.FromSeconds(secondsLeft.Value) : (DateTime?)null;
_model.QuitUrl = obj.GetStringValueOnly("quit");
UpdateWaitingPage();
});
}