load trainer assets on demand for run history UI

This commit is contained in:
ImperialSympathizer 2024-09-23 17:08:06 -04:00
parent e556db81cb
commit c5d8c6e746

View File

@ -288,25 +288,29 @@ export default class RunInfoUiHandler extends UiHandler {
private parseTrainerDefeat(enemyContainer: Phaser.GameObjects.Container) { private parseTrainerDefeat(enemyContainer: Phaser.GameObjects.Container) {
// Creating the trainer sprite and adding it to enemyContainer // Creating the trainer sprite and adding it to enemyContainer
const tObj = this.runInfo.trainer.toTrainer(this.scene); const tObj = this.runInfo.trainer.toTrainer(this.scene);
const tObjSpriteKey = tObj.config.getSpriteKey(this.runInfo.trainer.variant === TrainerVariant.FEMALE, false);
const tObjSprite = this.scene.add.sprite(0, 5, tObjSpriteKey); // Loads trainer assets on demand, as they are not loaded by default in the scene
if (this.runInfo.trainer.variant === TrainerVariant.DOUBLE) { tObj.config.loadAssets(this.scene, this.runInfo.trainer.variant).then(() => {
const doubleContainer = this.scene.add.container(5, 8); const tObjSpriteKey = tObj.config.getSpriteKey(this.runInfo.trainer.variant === TrainerVariant.FEMALE, false);
tObjSprite.setPosition(-3, -3); const tObjSprite = this.scene.add.sprite(0, 5, tObjSpriteKey);
const tObjPartnerSpriteKey = tObj.config.getSpriteKey(true, true); if (this.runInfo.trainer.variant === TrainerVariant.DOUBLE) {
const tObjPartnerSprite = this.scene.add.sprite(5, -3, tObjPartnerSpriteKey); const doubleContainer = this.scene.add.container(5, 8);
// Double Trainers have smaller sprites than Single Trainers tObjSprite.setPosition(-3, -3);
tObjPartnerSprite.setScale(0.20); const tObjPartnerSpriteKey = tObj.config.getSpriteKey(true, true);
tObjSprite.setScale(0.20); const tObjPartnerSprite = this.scene.add.sprite(5, -3, tObjPartnerSpriteKey);
doubleContainer.add(tObjSprite); // Double Trainers have smaller sprites than Single Trainers
doubleContainer.add(tObjPartnerSprite); tObjPartnerSprite.setScale(0.20);
doubleContainer.setPosition(12, 38); tObjSprite.setScale(0.20);
enemyContainer.add(doubleContainer); doubleContainer.add(tObjSprite);
} else { doubleContainer.add(tObjPartnerSprite);
tObjSprite.setScale(0.35, 0.35); doubleContainer.setPosition(12, 38);
tObjSprite.setPosition(12, 28); enemyContainer.add(doubleContainer);
enemyContainer.add(tObjSprite); } else {
} tObjSprite.setScale(0.35, 0.35);
tObjSprite.setPosition(12, 28);
enemyContainer.add(tObjSprite);
}
});
// Determining which Terastallize Modifier belongs to which Pokemon // Determining which Terastallize Modifier belongs to which Pokemon
// Creates a dictionary {PokemonId: TeraShardType} // Creates a dictionary {PokemonId: TeraShardType}