public static Pokemon BuildPokemon(EncounterPokemon encounter)
    {
        int     PokemonID = PokemonFactory.GetPokemonFromEncounterPokemonScriptableObject(encounter);
        Pokemon pokemon   = PokemonFactory.BuildPokemon(PokemonID);
        //考虑特性
        Pokemon           FirstPokemon = Contexts.sharedInstance.game.playerData.scriptableObject.pokemons[0];
        BattlePokemonData pokemonData  = BattlePokemonData.Context[FirstPokemon.GetInstanceID()];

        if (AbilityManager.AbilityImpacts.ContainsKey(pokemonData.ShowAbility))
        {
            AbilityManager.AbilityImpacts[pokemonData.ShowAbility]
            .OnEncounterPokemon(pokemonData, pokemon);
        }
        return(pokemon);
    }