public List <Pokemon> FilterPokemonByPerspective(List <Pokemon> pokemon, ViewPerspective viewPerspective) { List <Pokemon> filteredPokemon = new List <Pokemon>(); for (int i = 0; i < pokemon.Count; i++) { if (GetPerspective(pokemon[i]) == viewPerspective) { filteredPokemon.Add(pokemon[i]); } } return(filteredPokemon); }
public IEnumerator FaintPokemon( List <Pokemon> pokemon) { if (pokemon.Count > 0) { string faintNames = GetPokemonNames(pokemon); List <Pokemon> enemyPokemon = new List <Pokemon>(); List <Pokemon> allyPokemon = new List <Pokemon>(); List <Pokemon> playerPokemon = new List <Pokemon>(); for (int i = 0; i < pokemon.Count; i++) { ViewPerspective viewPerspective = GetPerspective(pokemon[i]); if (viewPerspective == ViewPerspective.Ally) { allyPokemon.Add(pokemon[i]); } else if (viewPerspective == ViewPerspective.Enemy) { enemyPokemon.Add(pokemon[i]); } else { playerPokemon.Add(pokemon[i]); } } if (enemyPokemon.Count > 0) { string text = GetPrefix(ViewPerspective.Enemy) + GetPokemonNames(enemyPokemon) + " fainted!"; yield return(StartCoroutine(battleUI.DrawText(text))); } if (allyPokemon.Count > 0) { string text = GetPrefix(ViewPerspective.Ally) + GetPokemonNames(allyPokemon) + " fainted!"; yield return(StartCoroutine(battleUI.DrawText(text))); } if (playerPokemon.Count > 0) { string text = GetPrefix(ViewPerspective.Player) + GetPokemonNames(playerPokemon) + " fainted!"; yield return(StartCoroutine(battleUI.DrawText(text))); } // undraw them all for (int i = 0; i < pokemon.Count; i++) { battleScene.UndrawPokemon(pokemon[i]); battleUI.UndrawPokemonHUD(pokemon[i]); } } }
public string GetPrefix(ViewPerspective viewPerspective, bool lowercase = false) { string prefix = (viewPerspective == ViewPerspective.Ally) ? "The ally " : (viewPerspective == ViewPerspective.Enemy) ? (battleModel.battleSettings.isWildBattle? "The wild " : "The foe's ") : ""; if (lowercase) { prefix = prefix.ToLower(); } return(prefix); }