pokerogue/src/ui/ui-handler.ts
2023-12-20 19:19:23 -05:00

42 lines
787 B
TypeScript

import BattleScene, { Button } from "../battle-scene";
import UI, { Mode } from "./ui";
export default abstract class UiHandler {
protected scene: BattleScene;
protected mode: integer;
protected cursor: integer = 0;
public active: boolean = false;
constructor(scene: BattleScene, mode: Mode) {
this.scene = scene;
this.mode = mode;
}
abstract setup(): void;
show(_args: any[]): void {
this.active = true;
}
abstract processInput(button: Button): boolean;
getUi() {
return this.scene.ui;
}
getCursor(): integer {
return this.cursor;
}
setCursor(cursor: integer): boolean {
const changed = this.cursor !== cursor;
if (changed)
this.cursor = cursor;
return changed;
}
clear() {
this.active = false;
}
}