public GameOutward(IGameSettings settings, string[,] players, ReportFragment fragment) { Settings = settings; Board = new BoardOutward(Settings); TurnNumber = fragment.TurnNumber; var ppp = settings.Mode.PokemonsPerPlayer(); Board.Players[0, 0] = new PlayerOutward(players[0, 0], ppp); Board.Players[1, 0] = new PlayerOutward(players[1, 0], ppp); Board.Players[0, 0].SetAll(fragment.P00); Board.Players[1, 0].SetAll(fragment.P10); if (Settings.Mode.PlayersPerTeam() == 2) { Board.Players[0, 1] = new PlayerOutward(players[0, 1], ppp); Board.Players[1, 1] = new PlayerOutward(players[1, 1], ppp); Board.Players[0, 1].SetAll(fragment.P01); Board.Players[1, 1].SetAll(fragment.P11); } Board.Weather = fragment.Weather; foreach (var pm in fragment.Pokemons) { pm.Init(this); } #if TEST LogAppended = delegate { }; TurnEnd = delegate { }; #endif }
protected ReportFragment(ReportFragment fragment) { _turnNumber = fragment._turnNumber; Weather = fragment.Weather; P00 = fragment.P00; P10 = fragment.P10; P01 = fragment.P01; P11 = fragment.P11; Pokemons = fragment.Pokemons; }