private void RequireInput(InputRequest request) { _time = 180 - request.Time; Request = request; request.Init(Controller.Game); request.InputFinished += (i) => { SelectedPanel = INACTIVE; Controller.Input(i); Timer.Stop(); }; if (request.IsSendOut) { _selectedPanel = POKEMONS; } else { _selectedPanel = MAIN; _mega = false; var op = new SimPokemon[Controller.Game.OnboardPokemons.Length]; for (int i = 0; i < op.Length; ++i) { if (Controller.Game.OnboardPokemons[i] != null) { op[i] = Controller.Game.OnboardPokemons[i].Pokemon; } } OnboardPokemons = op; if (_targetPanel != null) { _targetPanel.PO1.Pokemon = Game.Board[1 - Controller.Player.Team, 1]; _targetPanel.PO0.Pokemon = Game.Board[1 - Controller.Player.Team, 0]; _targetPanel.P0.Pokemon = op[0]; _targetPanel.P1.Pokemon = op[1]; } } { var step = Game.Settings.Mode.PlayersPerTeam(); var i = 0; foreach (var pm in Controller.Game.Team[0].Pokemons) { _pokemons[i] = pm; i += step; } if (step == 2) { i = 1; foreach (var pm in Controller.Game.Team[1].Pokemons) { _pokemons[i] = pm; i += step; } } } Timer.Start(); OnPropertyChanged(); }