public static GameState Deserialize(XmlNode xml) { GameState state = new GameState(); state.Blocks = BlockList.Deserialize(xml.SelectSingleNode("BlockList")); state.Effects = EffectList.Deserialize(xml.SelectSingleNode("EffectList")); state.Projectiles = ProjectileList.Deserialize(xml.SelectSingleNode("ProjectileList")); state.Units = UnitList.Deserialize(xml.SelectSingleNode("UnitList")); return state; }
public void WaitForOppent() { while (true) { XmlNode tempState = DataService.GetRefreshedData(_currentGameId, _playerId); while (tempState == null) { Thread.Sleep(100); } _gameState = GameState.Deserialize(tempState); _messages.Remove("Waiting for opponent"); _inPlanningMode = false; _remainingPlayTime = 5000; break; } }
private void JoinGame() { if (_gameState != null && !DataService.NeedsTurn(_currentGameId, _playerId, CurrentTeam)) { WaitThread = new Thread(WaitForOppent); WaitThread.Start(); return; } var tempState = DataService.GetState(_currentGameId, _playerId); if (tempState == null) { return; } _gameState = GameState.Deserialize(tempState); CurrentTeam = DataService.GetTeam(_currentGameId, _playerId); ToggleMenuMode(false); }