Files
Reeks2Missie9/scripts/Commandeer/level/level.ts

54 lines
1.2 KiB
TypeScript

import { world, World } from "@minecraft/server";
class Level {
levelCompleteCallback: Function;
levelCheckCallback: Function;
levelSetupCallback: Function;
levelUpdateCallback: Function;
levelResetCallback: Function;
isCompleted: boolean = false;
isSetup: boolean = false;
constructor(
levelSetupCallback: Function,
levelUpdateCallback: Function,
levelCompleteCallback: Function,
levelCheckCallback: Function,
levelResetCallback: Function = () => {}
) {
this.levelSetupCallback = levelSetupCallback;
this.levelCompleteCallback = levelCompleteCallback;
this.levelCheckCallback = levelCheckCallback;
this.levelUpdateCallback = levelUpdateCallback;
this.levelResetCallback = levelResetCallback;
}
setup() {
this.levelSetupCallback();
}
update() {
if (!this.isSetup) {
this.setup();
this.isSetup = true;
}
this.levelUpdateCallback();
if (this.levelCheckCallback() && !this.isCompleted) {
this.levelCompleteCallback();
world.sendMessage("level completed.");
this.isCompleted = true;
}
}
reset() {
this.levelResetCallback();
this.isCompleted = false;
}
}
//nextlevel
//mindkeeper
//pupeteer
export default Level;