catch more Sprite.play() errors causing crashes if sprite missing
This commit is contained in:
parent
c74278cfda
commit
f00c2b9b94
|
@ -583,7 +583,13 @@ function doPokemonTradeSequence(scene: BattleScene, tradedPokemon: PlayerPokemon
|
||||||
receivedPokemonTintSprite.setTintFill(getPokeballTintColor(receivedPokemon.pokeball));
|
receivedPokemonTintSprite.setTintFill(getPokeballTintColor(receivedPokemon.pokeball));
|
||||||
|
|
||||||
[ tradedPokemonSprite, tradedPokemonTintSprite ].map(sprite => {
|
[ tradedPokemonSprite, tradedPokemonTintSprite ].map(sprite => {
|
||||||
sprite.play(tradedPokemon.getSpriteKey(true));
|
const spriteKey = tradedPokemon.getSpriteKey(true);
|
||||||
|
try {
|
||||||
|
sprite.play(spriteKey);
|
||||||
|
} catch (err: unknown) {
|
||||||
|
console.error(`Failed to play animation for ${spriteKey}`, err);
|
||||||
|
}
|
||||||
|
|
||||||
sprite.setPipeline(scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], hasShadow: false, teraColor: getTypeRgb(tradedPokemon.getTeraType()) });
|
sprite.setPipeline(scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], hasShadow: false, teraColor: getTypeRgb(tradedPokemon.getTeraType()) });
|
||||||
sprite.setPipelineData("ignoreTimeTint", true);
|
sprite.setPipelineData("ignoreTimeTint", true);
|
||||||
sprite.setPipelineData("spriteKey", tradedPokemon.getSpriteKey());
|
sprite.setPipelineData("spriteKey", tradedPokemon.getSpriteKey());
|
||||||
|
@ -598,7 +604,13 @@ function doPokemonTradeSequence(scene: BattleScene, tradedPokemon: PlayerPokemon
|
||||||
});
|
});
|
||||||
|
|
||||||
[ receivedPokemonSprite, receivedPokemonTintSprite ].map(sprite => {
|
[ receivedPokemonSprite, receivedPokemonTintSprite ].map(sprite => {
|
||||||
sprite.play(receivedPokemon.getSpriteKey(true));
|
const spriteKey = receivedPokemon.getSpriteKey(true);
|
||||||
|
try {
|
||||||
|
sprite.play(spriteKey);
|
||||||
|
} catch (err: unknown) {
|
||||||
|
console.error(`Failed to play animation for ${spriteKey}`, err);
|
||||||
|
}
|
||||||
|
|
||||||
sprite.setPipeline(scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], hasShadow: false, teraColor: getTypeRgb(tradedPokemon.getTeraType()) });
|
sprite.setPipeline(scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], hasShadow: false, teraColor: getTypeRgb(tradedPokemon.getTeraType()) });
|
||||||
sprite.setPipelineData("ignoreTimeTint", true);
|
sprite.setPipelineData("ignoreTimeTint", true);
|
||||||
sprite.setPipelineData("spriteKey", receivedPokemon.getSpriteKey());
|
sprite.setPipelineData("spriteKey", receivedPokemon.getSpriteKey());
|
||||||
|
|
|
@ -54,7 +54,13 @@ export function doPokemonTransformationSequence(scene: BattleScene, previousPoke
|
||||||
pokemonEvoTintSprite.setTintFill(0xFFFFFF);
|
pokemonEvoTintSprite.setTintFill(0xFFFFFF);
|
||||||
|
|
||||||
[ pokemonSprite, pokemonTintSprite, pokemonEvoSprite, pokemonEvoTintSprite ].map(sprite => {
|
[ pokemonSprite, pokemonTintSprite, pokemonEvoSprite, pokemonEvoTintSprite ].map(sprite => {
|
||||||
sprite.play(previousPokemon.getSpriteKey(true));
|
const spriteKey = previousPokemon.getSpriteKey(true);
|
||||||
|
try {
|
||||||
|
sprite.play(spriteKey);
|
||||||
|
} catch (err: unknown) {
|
||||||
|
console.error(`Failed to play animation for ${spriteKey}`, err);
|
||||||
|
}
|
||||||
|
|
||||||
sprite.setPipeline(scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], hasShadow: false, teraColor: getTypeRgb(previousPokemon.getTeraType()) });
|
sprite.setPipeline(scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], hasShadow: false, teraColor: getTypeRgb(previousPokemon.getTeraType()) });
|
||||||
sprite.setPipelineData("ignoreTimeTint", true);
|
sprite.setPipelineData("ignoreTimeTint", true);
|
||||||
sprite.setPipelineData("spriteKey", previousPokemon.getSpriteKey());
|
sprite.setPipelineData("spriteKey", previousPokemon.getSpriteKey());
|
||||||
|
@ -69,7 +75,13 @@ export function doPokemonTransformationSequence(scene: BattleScene, previousPoke
|
||||||
});
|
});
|
||||||
|
|
||||||
[ pokemonEvoSprite, pokemonEvoTintSprite ].map(sprite => {
|
[ pokemonEvoSprite, pokemonEvoTintSprite ].map(sprite => {
|
||||||
sprite.play(transformPokemon.getSpriteKey(true));
|
const spriteKey = transformPokemon.getSpriteKey(true);
|
||||||
|
try {
|
||||||
|
sprite.play(spriteKey);
|
||||||
|
} catch (err: unknown) {
|
||||||
|
console.error(`Failed to play animation for ${spriteKey}`, err);
|
||||||
|
}
|
||||||
|
|
||||||
sprite.setPipelineData("ignoreTimeTint", true);
|
sprite.setPipelineData("ignoreTimeTint", true);
|
||||||
sprite.setPipelineData("spriteKey", transformPokemon.getSpriteKey());
|
sprite.setPipelineData("spriteKey", transformPokemon.getSpriteKey());
|
||||||
sprite.setPipelineData("shiny", transformPokemon.shiny);
|
sprite.setPipelineData("shiny", transformPokemon.shiny);
|
||||||
|
|
|
@ -102,7 +102,13 @@ export class EvolutionPhase extends Phase {
|
||||||
this.scene.ui.add(this.evolutionOverlay);
|
this.scene.ui.add(this.evolutionOverlay);
|
||||||
|
|
||||||
[ this.pokemonSprite, this.pokemonTintSprite, this.pokemonEvoSprite, this.pokemonEvoTintSprite ].map(sprite => {
|
[ this.pokemonSprite, this.pokemonTintSprite, this.pokemonEvoSprite, this.pokemonEvoTintSprite ].map(sprite => {
|
||||||
sprite.play(this.pokemon.getSpriteKey(true));
|
const spriteKey = this.pokemon.getSpriteKey(true);
|
||||||
|
try {
|
||||||
|
sprite.play(spriteKey);
|
||||||
|
} catch (err: unknown) {
|
||||||
|
console.error(`Failed to play animation for ${spriteKey}`, err);
|
||||||
|
}
|
||||||
|
|
||||||
sprite.setPipeline(this.scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], hasShadow: false, teraColor: getTypeRgb(this.pokemon.getTeraType()) });
|
sprite.setPipeline(this.scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], hasShadow: false, teraColor: getTypeRgb(this.pokemon.getTeraType()) });
|
||||||
sprite.setPipelineData("ignoreTimeTint", true);
|
sprite.setPipelineData("ignoreTimeTint", true);
|
||||||
sprite.setPipelineData("spriteKey", this.pokemon.getSpriteKey());
|
sprite.setPipelineData("spriteKey", this.pokemon.getSpriteKey());
|
||||||
|
@ -127,7 +133,13 @@ export class EvolutionPhase extends Phase {
|
||||||
this.pokemon.getPossibleEvolution(this.evolution).then(evolvedPokemon => {
|
this.pokemon.getPossibleEvolution(this.evolution).then(evolvedPokemon => {
|
||||||
|
|
||||||
[ this.pokemonEvoSprite, this.pokemonEvoTintSprite ].map(sprite => {
|
[ this.pokemonEvoSprite, this.pokemonEvoTintSprite ].map(sprite => {
|
||||||
sprite.play(evolvedPokemon.getSpriteKey(true));
|
const spriteKey = evolvedPokemon.getSpriteKey(true);
|
||||||
|
try {
|
||||||
|
sprite.play(spriteKey);
|
||||||
|
} catch (err: unknown) {
|
||||||
|
console.error(`Failed to play animation for ${spriteKey}`, err);
|
||||||
|
}
|
||||||
|
|
||||||
sprite.setPipelineData("ignoreTimeTint", true);
|
sprite.setPipelineData("ignoreTimeTint", true);
|
||||||
sprite.setPipelineData("spriteKey", evolvedPokemon.getSpriteKey());
|
sprite.setPipelineData("spriteKey", evolvedPokemon.getSpriteKey());
|
||||||
sprite.setPipelineData("shiny", evolvedPokemon.shiny);
|
sprite.setPipelineData("shiny", evolvedPokemon.shiny);
|
||||||
|
|
|
@ -39,7 +39,13 @@ export class FormChangePhase extends EvolutionPhase {
|
||||||
this.pokemon.getPossibleForm(this.formChange).then(transformedPokemon => {
|
this.pokemon.getPossibleForm(this.formChange).then(transformedPokemon => {
|
||||||
|
|
||||||
[ this.pokemonEvoSprite, this.pokemonEvoTintSprite ].map(sprite => {
|
[ this.pokemonEvoSprite, this.pokemonEvoTintSprite ].map(sprite => {
|
||||||
sprite.play(transformedPokemon.getSpriteKey(true));
|
const spriteKey = transformedPokemon.getSpriteKey(true);
|
||||||
|
try {
|
||||||
|
sprite.play(spriteKey);
|
||||||
|
} catch (err: unknown) {
|
||||||
|
console.error(`Failed to play animation for ${spriteKey}`, err);
|
||||||
|
}
|
||||||
|
|
||||||
sprite.setPipelineData("ignoreTimeTint", true);
|
sprite.setPipelineData("ignoreTimeTint", true);
|
||||||
sprite.setPipelineData("spriteKey", transformedPokemon.getSpriteKey());
|
sprite.setPipelineData("spriteKey", transformedPokemon.getSpriteKey());
|
||||||
sprite.setPipelineData("shiny", transformedPokemon.shiny);
|
sprite.setPipelineData("shiny", transformedPokemon.shiny);
|
||||||
|
|
|
@ -319,8 +319,12 @@ export default class SummaryUiHandler extends UiHandler {
|
||||||
this.numberText.setText(Utils.padInt(this.pokemon.species.speciesId, 4));
|
this.numberText.setText(Utils.padInt(this.pokemon.species.speciesId, 4));
|
||||||
this.numberText.setColor(this.getTextColor(!this.pokemon.isShiny() ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD));
|
this.numberText.setColor(this.getTextColor(!this.pokemon.isShiny() ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD));
|
||||||
this.numberText.setShadowColor(this.getTextColor(!this.pokemon.isShiny() ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD, true));
|
this.numberText.setShadowColor(this.getTextColor(!this.pokemon.isShiny() ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD, true));
|
||||||
|
const spriteKey = this.pokemon.getSpriteKey(true);
|
||||||
this.pokemonSprite.play(this.pokemon.getSpriteKey(true));
|
try {
|
||||||
|
this.pokemonSprite.play(spriteKey);
|
||||||
|
} catch (err: unknown) {
|
||||||
|
console.error(`Failed to play animation for ${spriteKey}`, err);
|
||||||
|
}
|
||||||
this.pokemonSprite.setPipelineData("teraColor", getTypeRgb(this.pokemon.getTeraType()));
|
this.pokemonSprite.setPipelineData("teraColor", getTypeRgb(this.pokemon.getTeraType()));
|
||||||
this.pokemonSprite.setPipelineData("ignoreTimeTint", true);
|
this.pokemonSprite.setPipelineData("ignoreTimeTint", true);
|
||||||
this.pokemonSprite.setPipelineData("spriteKey", this.pokemon.getSpriteKey());
|
this.pokemonSprite.setPipelineData("spriteKey", this.pokemon.getSpriteKey());
|
||||||
|
|
Loading…
Reference in New Issue