예제 #1
0
        private bool PickSwitch(bool dead = false)
        {
            //Write a function to list switchable pokes
            //var alive = Trainer1.Party.Where(p => p.IsAlive == true).ToList();

            //if (alive.Count > 1)
            //    Displayer.DisplayPokesToSwitch(alive.ConvertAll(x => (Pokemon)x));

            Displayer.DisplayPokesToSwitch(Trainer1.Party.ConvertAll(x => (Pokemon)x));

            int selection = Input_Handler();

            if (selection > Trainer1.Party.Count || Trainer1.Party[selection] == Trainer1CurrentPoke || !Trainer1.Party[selection].IsAlive)
            {
                return(false);
            }
            else
            {
                Trainer1CurrentPoke = Trainer1.Party[selection];
                Trainer1.Switch(selection, Trainer1CurrentPoke);

                if (!dead)
                {
                    Displayer.TrainerSwitchedPokemon(Trainer1.Name, Trainer1CurrentPoke.Name);
                }
                else
                {
                    Displayer.RelayMessage($"Trainer threw out {Trainer1CurrentPoke.Name}");
                }
                return(true);
            }
        }