basic login page with a text input and a click button
This commit is contained in:
parent
33bcbd4650
commit
d691b58d0b
9 changed files with 107 additions and 25 deletions
47
front/src/Phaser/Login/LogincScene.ts
Normal file
47
front/src/Phaser/Login/LogincScene.ts
Normal file
|
@ -0,0 +1,47 @@
|
|||
import KeyboardKeydownCallback = Phaser.Types.Input.Keyboard.KeyboardKeydownCallback;
|
||||
import {gameManager} from "../Game/GameManager";
|
||||
import {ROOM} from "../../Enum/EnvironmentVariable";
|
||||
import {TextField} from "../Components/TextField";
|
||||
import {TextInput} from "../Components/TextInput";
|
||||
import {ClickButton} from "../Components/ClickButton";
|
||||
|
||||
//todo: put this constants in a dedicated file
|
||||
export const LoginSceneName = "LoginScene";
|
||||
enum LoginTextures {
|
||||
playButton = "play_button",
|
||||
}
|
||||
|
||||
export class LogincScene extends Phaser.Scene {
|
||||
private emailInput: TextInput;
|
||||
private textField: TextField;
|
||||
private playButton: ClickButton;
|
||||
constructor() {
|
||||
super({
|
||||
key: LoginSceneName
|
||||
});
|
||||
}
|
||||
|
||||
preload() {
|
||||
this.load.image(LoginTextures.playButton, "resources/objects/play_button.png");
|
||||
}
|
||||
|
||||
create() {
|
||||
this.textField = new TextField(this, 10, 10, 'Enter your email:');
|
||||
this.emailInput = new TextInput(this, 10, 50);
|
||||
|
||||
let x = this.game.renderer.width / 2;
|
||||
let y = this.game.renderer.height / 2;
|
||||
this.playButton = new ClickButton(this, x, y, LoginTextures.playButton, this.login.bind(this));
|
||||
}
|
||||
|
||||
update(time: number, delta: number): void {
|
||||
|
||||
}
|
||||
|
||||
async login() {
|
||||
let email = this.emailInput.text;
|
||||
if (!email) return;
|
||||
await gameManager.connect(email);
|
||||
this.scene.start("GameScene");
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue