Beispiel #1
0
    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);
    }
Beispiel #2
0
    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]);
            }
        }
    }
Beispiel #3
0
    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);
    }