///////////////////////////// // Result class Result { preload() { game.load.image('icon_fullscreen', '../../../resources/image/icon/fullscreen_white.png'); Animal.loadResources(); } create() { this.dbConnectManager = new DBConnectManager(); this.game.stage.backgroundColor = '#4d4d4d'; this.chartGraphics = game.add.graphics(100, game.world.height - 120); // top let backButton = new BackButton( () => { if(isTypingPracticeStage()) location.href = '../../web/client/menu_typing_practice.html'; else if(isTypingTestStage()) location.href = '../../web/client/menu_typing_test.html'; else location.href = '../../web/client/menu_app.html'; sessionStorageManager.resetPlayingAppData(); }); let fullscreenButton = new FullscreenButton(this.game); // contents this.printRecord(); this.uploadRecord(); this.makeRestartButton(); if(sessionStorageManager.maestroAccountType >= 100) { // experience account let recordBoard = new RecordBoard(RecordBoard.TYPE_SAMPLE); this.announceBox = new AnnounceBox(50, 648); this.announceBox.drawBox("체험 계정에서는 기록이 저장되지 않습니다."); } else { let recordBoard = new RecordBoard(RecordBoard.TYPE_DB); } // bottom let screenBottom = new ScreenBottom(); screenBottom.makeBottomLine(); screenBottom.printBottomLeftTextWithBestRecord(Math.floor(sessionStorageManager.bestRecord)); screenBottom.printBottomCenterText(sessionStorageManager.playingAppKoreanName); screenBottom.printBottomRightText(sessionStorageManager.playerName); } printRecord() { const style = { font: "bold 38px Arial", fill: "#fff", align: "left", boundsAlignH: "center", boundsAlignV: "middle" }; let titleText = game.add.text(game.world.width / 2, 35, "결과", style); titleText.setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2); titleText.anchor.set(0.5); let x = game.world.width / 2; let y = 150; if(sessionStorageManager.record === null) sessionStorageManager.record = 0; let record = NumberUtil.numberWithCommas(Math.floor(sessionStorageManager.record)); style.font = "80px Arial"; if(sessionStorageManager.playingAppID < 100) { let leftAnimal = new Animal(Animal.TYPE_ANIMATION, game.world.centerX - 200, 150); let animalLevelID = leftAnimal.animalLevelIDByRecord(sessionStorageManager.record); leftAnimal.setSpecies(Animal.SPECIES_DATA[animalLevelID]);; // leftAnimal.tweenAnimation(Animal.ANIMATION_TYPE_CHANGE); leftAnimal.startAnimation(); let rightAnimal = new Animal(Animal.TYPE_ANIMATION, game.world.centerX + 200, 150); rightAnimal.setSpecies(Animal.SPECIES_DATA[animalLevelID]);; // rightAnimal.tweenAnimation(Animal.ANIMATION_TYPE_CHANGE); rightAnimal.startAnimation(); } let scoreText = game.add.text( x, y, record + StringUtil.getScoreUnit(sessionStorageManager.playingAppID), style ); scoreText.setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2); scoreText.anchor.set(0.5); if(sessionStorageManager.isNewBestRecrd === true) { style.font = "32px Arial"; let bestRecordText = game.add.text(game.world.width / 2, 110, "!!! 새로운 최고 기록 !!!", style); // .setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2); bestRecordText.anchor.set(0.5); bestRecordText.stroke = "#333"; bestRecordText.strokeThickness = 5; } /* if(sessionStorageManager.bestRecord === null) sessionStorageManager.bestRecord = 0; let bestRecord = NumberUtil.numberWithCommas(sessionStorageManager.bestRecord); style.font = "32px Arial"; let bestRecordText = game.add.text(0, 0, "오늘 최고 기록 : " + bestRecord, style) .setTextBounds(0, posY + 80, game.world.width, 40); // .setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2); bestRecordText.stroke = "#333"; bestRecordText.strokeThickness = 5; */ } uploadRecord() { if(sessionStorageManager.maestroAccountType >= 100) { // experience account return; } this.dbConnectManager.updateTodayBestRecord( sessionStorageManager.maestroID, sessionStorageManager.playerID, sessionStorageManager.playingAppID, sessionStorageManager.record ); } makeRestartButton() { let setting = new RoundRectButtonSetting(game.world.centerX, game.world.height / 2 - 70, 200, 100); setting.fontStyle.fontWeight = "bold"; let startButton = new RoundRectButton(setting, RoundRectButton.NONE_ICON, "다시 시작", this.restartStage); } restartStage() { if(sessionStorageManager.playingAppName.indexOf("practice_") == 0) { location.href = "../../web/client/typing_practice.html"; } else if(sessionStorageManager.playingAppName.indexOf("test_") == 0) { location.href = "../../web/client/typing_test.html"; } else { location.href = "../../web/client/" + sessionStorageManager.playingAppName + ".html"; } } }