diff --git a/src/ui/egg-list-ui-handler.ts b/src/ui/egg-list-ui-handler.ts index 9f41feea8ab..9a1b1f51e25 100644 --- a/src/ui/egg-list-ui-handler.ts +++ b/src/ui/egg-list-ui-handler.ts @@ -35,81 +35,70 @@ export default class EggListUiHandler extends MessageUiHandler { setup() { const ui = this.getUi(); - this.eggListContainer = globalScene.add.container(0, -globalScene.game.canvas.height / 6); - this.eggListContainer.setVisible(false); + this.eggListContainer = globalScene.add.container(0, -globalScene.game.canvas.height / 6).setVisible(false); ui.add(this.eggListContainer); - const bgColor = globalScene.add.rectangle( - 0, - 0, - globalScene.game.canvas.width / 6, - globalScene.game.canvas.height / 6, - 0x006860, - ); - bgColor.setOrigin(0, 0); - this.eggListContainer.add(bgColor); + const bgColor = globalScene.add + .rectangle(0, 0, globalScene.game.canvas.width / 6, globalScene.game.canvas.height / 6, 0x006860) + .setOrigin(0); - const eggListBg = globalScene.add.image(0, 0, "egg_list_bg"); - eggListBg.setOrigin(0, 0); - this.eggListContainer.add(eggListBg); - - this.eggListContainer.add(addWindow(1, 85, 106, 22)); - this.eggListContainer.add(addWindow(1, 102, 106, 50, true)); - this.eggListContainer.add(addWindow(1, 147, 106, 32, true)); - this.eggListContainer.add(addWindow(107, 1, 212, 178)); + const eggListBg = globalScene.add.image(0, 0, "egg_list_bg").setOrigin(0); this.iconAnimHandler = new PokemonIconAnimHandler(); this.iconAnimHandler.setup(); - this.eggNameText = addTextObject(8, 68, "", TextStyle.SUMMARY); - this.eggNameText.setOrigin(0, 0); - this.eggListContainer.add(this.eggNameText); + this.eggNameText = addTextObject(8, 68, "", TextStyle.SUMMARY).setOrigin(0); this.eggDateText = addTextObject(8, 91, "", TextStyle.TOOLTIP_CONTENT); - this.eggListContainer.add(this.eggDateText); - this.eggHatchWavesText = addTextObject(8, 108, "", TextStyle.TOOLTIP_CONTENT); - this.eggHatchWavesText.setWordWrapWidth(540); - this.eggListContainer.add(this.eggHatchWavesText); + this.eggHatchWavesText = addTextObject(8, 108, "", TextStyle.TOOLTIP_CONTENT).setWordWrapWidth(540); - this.eggGachaInfoText = addTextObject(8, 152, "", TextStyle.TOOLTIP_CONTENT); - this.eggGachaInfoText.setWordWrapWidth(540); - this.eggListContainer.add(this.eggGachaInfoText); + this.eggGachaInfoText = addTextObject(8, 152, "", TextStyle.TOOLTIP_CONTENT).setWordWrapWidth(540); this.eggListIconContainer = globalScene.add.container(113, 5); - this.eggListContainer.add(this.eggListIconContainer); - this.cursorObj = globalScene.add.image(0, 0, "select_cursor"); - this.cursorObj.setOrigin(0, 0); - this.eggListContainer.add(this.cursorObj); + this.cursorObj = globalScene.add.image(0, 0, "select_cursor").setOrigin(0); this.eggSprite = globalScene.add.sprite(54, 37, "egg"); - this.eggListContainer.add(this.eggSprite); const scrollBar = new ScrollBar(310, 5, 4, 170, this.ROWS); - this.eggListContainer.add(scrollBar); this.scrollGridHandler = new ScrollableGridUiHandler(this, this.ROWS, this.COLUMNS) .withScrollBar(scrollBar) .withUpdateGridCallBack(() => this.updateEggIcons()) .withUpdateSingleElementCallback((i: number) => this.setEggDetails(i)); - this.eggListMessageBoxContainer = globalScene.add.container(0, globalScene.game.canvas.height / 6); - this.eggListMessageBoxContainer.setVisible(false); - this.eggListContainer.add(this.eggListMessageBoxContainer); + this.eggListMessageBoxContainer = globalScene.add + .container(0, globalScene.game.canvas.height / 6) + .setVisible(false); - const eggListMessageBox = addWindow(1, -1, 318, 28); - eggListMessageBox.setOrigin(0, 1); + const eggListMessageBox = addWindow(1, -1, 318, 28).setOrigin(0, 1); this.eggListMessageBoxContainer.add(eggListMessageBox); - this.message = addTextObject(8, -8, "", TextStyle.WINDOW, { maxLines: 1 }); - this.message.setOrigin(0, 1); - this.eggListMessageBoxContainer.add(this.message); + // Message isn't used, but is expected to exist as this subclasses MessageUiHandler + this.message = addTextObject(8, -8, "", TextStyle.WINDOW, { maxLines: 1 }).setActive(false).setVisible(false); this.cursor = -1; + + this.eggListContainer.add([ + bgColor, + eggListBg, + addWindow(1, 85, 106, 22), + addWindow(1, 102, 106, 50, true), + addWindow(1, 147, 106, 32, true), + addWindow(107, 1, 212, 178), + this.eggNameText, + this.eggDateText, + this.eggHatchWavesText, + this.eggGachaInfoText, + this.eggListIconContainer, + this.cursorObj, + this.eggSprite, + scrollBar, + ]); } - show(args: any[]): boolean { + override show(args: any[]): boolean { super.show(args); this.initEggIcons(); @@ -134,9 +123,10 @@ export default class EggListUiHandler extends MessageUiHandler { for (let i = 0; i < Math.min(this.ROWS * this.COLUMNS, globalScene.gameData.eggs.length); i++) { const x = (i % this.COLUMNS) * 18; const y = Math.floor(i / this.COLUMNS) * 18; - const icon = globalScene.add.sprite(x - 2, y + 2, "egg_icons"); - icon.setScale(0.5); - icon.setOrigin(0, 0); + const icon = globalScene.add + .sprite(x - 2, y + 2, "egg_icons") + .setScale(0.5) + .setOrigin(0); this.eggListIconContainer.add(icon); this.eggIcons.push(icon); } @@ -148,15 +138,13 @@ export default class EggListUiHandler extends MessageUiHandler { private updateEggIcons() { const indexOffset = this.scrollGridHandler.getItemOffset(); const eggsToShow = Math.min(this.eggIcons.length, globalScene.gameData.eggs.length - indexOffset); - this.eggIcons.forEach((icon, i) => { if (i !== this.cursor) { this.iconAnimHandler.addOrUpdate(icon, PokemonIconAnimMode.NONE); } if (i < eggsToShow) { const egg = globalScene.gameData.eggs[i + indexOffset]; - icon.setFrame(egg.getKey()); - icon.setVisible(true); + icon.setFrame(egg.getKey()).setVisible(true); } else { icon.setVisible(false); } @@ -187,7 +175,6 @@ export default class EggListUiHandler extends MessageUiHandler { const ui = this.getUi(); let success = false; - const error = false; if (button === Button.CANCEL) { ui.revertMode(); @@ -198,11 +185,9 @@ export default class EggListUiHandler extends MessageUiHandler { if (success) { ui.playSelect(); - } else if (error) { - ui.playError(); } - return success || error; + return success; } setCursor(cursor: number): boolean {