///////////////////////////// // Login class Login { preload() { game.load.image('icon_fullscreen', '../../../resources/image/icon/fullscreen_white.png'); } create() { self = this; sessionStorageManager.clear(); this.game.stage.backgroundColor = '#4d4d4d'; this.textStyle = { font: "bold 32px Arial", fill: "#fff", align: "right", boundsAlignH: "right", boundsAlignV: "middle" }; let fullscreenButton = new FullscreenButton(this.game); let textX = this.game.world.centerX - 320; if(sessionStorageManager.maestroID === null) this.makeMaestroNameText(textX, 200); this.makeNameText(textX, 300); this.makeEnterCodeText(textX, 360); this.inputTextName.canvasInput.focus(); this.makeStartButton(game.world.centerX, game.world.centerY + 100); this.makeInfoText(); } makeMaestroNameText(x, y) { this.makeTextField(x, y, "마에스트로 계정 :"); this.inputTextMaestroName = this.makeInputTypeText(x, y, "jisangs"); } makeNameText(x, y) { this.makeTextField(x, y, "이름 :"); this.inputTextName = this.makeInputTypeText(x, y, "박지상"); } makeEnterCodeText(x, y) { this.makeTextField(x, y, "입장번호 :"); this.inputTextEnterCode = this.makeInputTypeText(x, y, "760621"); } makeTextField(x, y, text) { return game.add.text(x, y, text, this.textStyle) .setTextBounds(0, 0, 200, 0) .setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2) .boundsAlignH = 'right'; } makeInputTypeText(x, y, text) { let inputText = new InputTypeText(x + 420, y); inputText.anchor.set(0.5); inputText.canvasInput.value(''); if(isDebugMode()) { inputText.canvasInput.value(text); } inputText.canvasInput._onkeyup = function() { if(event.keyCode == Phaser.Keyboard.ENTER) { self.startMenu(); } } return inputText; } makeStartButton(x, y) { let setting = new RoundRectButtonSetting(x, y, 200, 100); setting.fontStyle.fontWeight = "bold"; let startButton = new RoundRectButton(setting, RoundRectButton.NONE_ICON, "시작", this.startMenu); } makeInfoText(x, y) { var textStyle = { font: "30px Arial", fill: "#faa" }; this.infoText = game.add.text(game.world.centerX, 640, "", textStyle); this.infoText.anchor.set(0.5); this.infoText.stroke = "#333"; this.infoText.strokeThickness = 3; } startMenu() { let maestroName = self.inputTextMaestroName.canvasInput._value; sessionStorageManager.playerName = self.inputTextName.canvasInput._value; let enterCode = self.inputTextEnterCode.canvasInput._value; let dbConnectManager = new DBConnectManager(); dbConnectManager.requestCheckPlayerLogin( maestroName, sessionStorageManager.playerName, enterCode, self.loginSucceeded, self.loginFailed ); } loginSucceeded(jsonData) { sessionStorageManager.maestroID = jsonData['MaestroID']; sessionStorageManager.maestroAccountType = jsonData['MaestroAccountType']; sessionStorageManager.playerID = jsonData['PlayerID']; sessionStorageManager.playerName = jsonData['PlayerName']; sessionStorageManager.playerAccountType = jsonData['PlayerAccountType']; sessionStorageManager.playingAppName = "menu"; location.href = '../../web/client/menu_app.html'; // console.log("===== after login ====="); // console.log(sessionStorageManager.playerID); } loginFailed(jsonData) { sessionStorageManager.clear(); // show retry message console.log('login failed, jsonData : ' + JSON.stringify(jsonData)); if(jsonData["error"] !== null) { self.infoText.text = jsonData["error"]; } } }