Updated some logic and added some comments

This commit is contained in:
Opaque02 2024-09-25 21:08:23 +10:00
parent 7c7ebb2ab8
commit 202b5e32e5
3 changed files with 8 additions and 5 deletions

View File

@ -8,7 +8,6 @@ import { Button } from "#app/enums/buttons";
export default class AdminUiHandler extends FormModalUiHandler { export default class AdminUiHandler extends FormModalUiHandler {
private adminMode: AdminMode; private adminMode: AdminMode;
private readonly errorMessageName = "errorMessageLabel";
constructor(scene: BattleScene, mode: Mode | null = null) { constructor(scene: BattleScene, mode: Mode | null = null) {
super(scene, mode); super(scene, mode);
@ -16,7 +15,6 @@ export default class AdminUiHandler extends FormModalUiHandler {
setup(): void { setup(): void {
super.setup(); super.setup();
this.errorMessage.name = this.errorMessageName;
} }
getModalTitle(config?: ModalConfig): string { getModalTitle(config?: ModalConfig): string {
@ -63,7 +61,8 @@ export default class AdminUiHandler extends FormModalUiHandler {
} }
show(args: any[]): boolean { 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; this.adminMode = args[args.length - 1] as AdminMode;
@ -113,6 +112,7 @@ export default class AdminUiHandler extends FormModalUiHandler {
} }
this.inputs[0].setText(""); this.inputs[0].setText("");
this.inputs[1].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();
this.scene.ui.revertMode(); this.scene.ui.revertMode();
}) })
@ -129,6 +129,7 @@ export default class AdminUiHandler extends FormModalUiHandler {
} }
this.inputs[0].setText(""); this.inputs[0].setText("");
this.inputs[1].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();
this.scene.ui.revertMode(); this.scene.ui.revertMode();
}) })

View File

@ -68,6 +68,7 @@ export abstract class FormModalUiHandler extends ModalUiHandler {
this.formLabels= []; this.formLabels= [];
fields.forEach((field, f) => { fields.forEach((field, f) => {
const label = addTextObject(this.scene, 10, (hasTitle ? 31 : 5) + 20 * f, field, TextStyle.TOOLTIP_CONTENT); const label = addTextObject(this.scene, 10, (hasTitle ? 31 : 5) + 20 * f, field, TextStyle.TOOLTIP_CONTENT);
label.name = "formLabel" + f;
this.formLabels.push(label); this.formLabels.push(label);
this.modalContainer.add(this.formLabels[this.formLabels.length - 1]); this.modalContainer.add(this.formLabels[this.formLabels.length - 1]);

View File

@ -390,13 +390,14 @@ export default class MenuUiHandler extends MessageUiHandler {
handler: () => { handler: () => {
const options: OptionSelectItem[] = []; 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({ options.push({
label: getAdminModeName(mode as AdminMode), label: getAdminModeName(mode as AdminMode),
handler: () => { handler: () => {
ui.playSelect(); ui.playSelect();
ui.setOverlayMode(Mode.ADMIN, { ui.setOverlayMode(Mode.ADMIN, {
buttonActions: [ buttonActions: [
// we double revert here and below to go back 2 layers of menus
() => { () => {
ui.revertMode(); ui.revertMode();
ui.revertMode(); ui.revertMode();
@ -406,7 +407,7 @@ export default class MenuUiHandler extends MessageUiHandler {
ui.revertMode(); ui.revertMode();
} }
] ]
}, mode); }, mode); // mode is our AdminMode enum
return true; return true;
} }
}); });