Files
muuhd/scenes/authentication/authenticationScene.js
Kim Ravn Hansen 59d73955d0 File perms
2025-10-15 12:28:14 +02:00

47 lines
1.2 KiB
JavaScript
Executable File

import { PasswordPrompt } from "./passwordPrompt.js";
import { Scene } from "../scene.js";
import { UsernamePrompt } from "./usernamePrompt.js";
import { PlayerCreationScene } from "../playerCreation/playerCreationSene.js";
import { GameScene } from "../gameLoop/gameScene.js";
/** @typedef {import("../../models/player.js").Player} Player */
/** @property {Session} session */
export class AuthenticationScene extends Scene {
introText = [
"= Welcome!", //
];
/** @type {Player} */
player;
onReady() {
// current prompt
this.show(UsernamePrompt);
}
/** @param {Player} player */
usernameAccepted(player) {
this.player = player;
this.session.sendSystemMessage("salt", player.salt);
this.show(PasswordPrompt);
}
passwordAccepted() {
this.player.loggedIn = true;
this.session.setPlayer(this.player);
this.session.sendText(["= Success!", "((but I don't know what to do now...))"]);
this.session.setScene(new GameScene());
}
/**
* User typed `:create`
*
* Create new player
*/
onColon__create() {
this.session.setScene(new PlayerCreationScene(this.session));
}
}