diff --git a/src/ui/admin-ui-handler.ts b/src/ui/admin-ui-handler.ts index b89d4eda54c..9a2109d9c33 100644 --- a/src/ui/admin-ui-handler.ts +++ b/src/ui/admin-ui-handler.ts @@ -8,7 +8,6 @@ import { Button } from "#app/enums/buttons"; export default class AdminUiHandler extends FormModalUiHandler { private adminMode: AdminMode; - private readonly errorMessageName = "errorMessageLabel"; constructor(scene: BattleScene, mode: Mode | null = null) { super(scene, mode); @@ -16,7 +15,6 @@ export default class AdminUiHandler extends FormModalUiHandler { setup(): void { super.setup(); - this.errorMessage.name = this.errorMessageName; } getModalTitle(config?: ModalConfig): string { @@ -63,7 +61,8 @@ export default class AdminUiHandler extends FormModalUiHandler { } show(args: any[]): boolean { - this.modalContainer.list = this.modalContainer.list.filter(mC => mC.type !== "Text" || mC.text === "" || mC.text === this.getModalTitle() || mC.name === this.errorMessageName); + // this is used to remove the existing fields on the admin panel so they can be updated + this.modalContainer.list = this.modalContainer.list.filter(mC => !mC.name.includes("formLabel")); this.adminMode = args[args.length - 1] as AdminMode; @@ -113,6 +112,7 @@ export default class AdminUiHandler extends FormModalUiHandler { } this.inputs[0].setText(""); this.inputs[1].setText(""); + // we double revert here and below to go back 2 layers of menus this.scene.ui.revertMode(); this.scene.ui.revertMode(); }) @@ -129,6 +129,7 @@ export default class AdminUiHandler extends FormModalUiHandler { } this.inputs[0].setText(""); this.inputs[1].setText(""); + // we double revert here and below to go back 2 layers of menus this.scene.ui.revertMode(); this.scene.ui.revertMode(); }) diff --git a/src/ui/form-modal-ui-handler.ts b/src/ui/form-modal-ui-handler.ts index 1e3b96e6b82..39ce31f5d5c 100644 --- a/src/ui/form-modal-ui-handler.ts +++ b/src/ui/form-modal-ui-handler.ts @@ -68,6 +68,7 @@ export abstract class FormModalUiHandler extends ModalUiHandler { this.formLabels= []; fields.forEach((field, f) => { const label = addTextObject(this.scene, 10, (hasTitle ? 31 : 5) + 20 * f, field, TextStyle.TOOLTIP_CONTENT); + label.name = "formLabel" + f; this.formLabels.push(label); this.modalContainer.add(this.formLabels[this.formLabels.length - 1]); diff --git a/src/ui/menu-ui-handler.ts b/src/ui/menu-ui-handler.ts index ab45e8e66c8..9059d1cfa54 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -390,13 +390,14 @@ export default class MenuUiHandler extends MessageUiHandler { handler: () => { const options: OptionSelectItem[] = []; - Object.values(AdminMode).filter((v) => !isNaN(Number(v))).forEach((mode) => { + Object.values(AdminMode).filter((v) => !isNaN(Number(v))).forEach((mode) => { // this gets all the enums in a way we can use options.push({ label: getAdminModeName(mode as AdminMode), handler: () => { ui.playSelect(); ui.setOverlayMode(Mode.ADMIN, { buttonActions: [ + // we double revert here and below to go back 2 layers of menus () => { ui.revertMode(); ui.revertMode(); @@ -406,7 +407,7 @@ export default class MenuUiHandler extends MessageUiHandler { ui.revertMode(); } ] - }, mode); + }, mode); // mode is our AdminMode enum return true; } });