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); }