mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-06-21 00:52:47 +02:00
[Refactor] Cleanup egg list ui handler (#5890)
Cleanup egg list ui handler Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
This commit is contained in:
parent
e82e182507
commit
178de207f1
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user