From f7b773490462b62e74ffb551d4b451302c8494c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8B=E1=85=A2=E1=84=91=E1=85=B3=E1=86=AF=20=E1=84=82?= =?UTF-8?q?=E1=85=A9=E1=84=90=E1=85=B3=E1=84=87=E1=85=AE=E1=86=A8?= Date: Sun, 11 Aug 2019 17:10:18 +0900 Subject: [PATCH] Fix: update typing practice button with DB data --- src/game/lib/flat_button/typing_app_button.js | 22 ++++-- src/game/main_menu/main_menu.js | 73 +++++++++++-------- 2 files changed, 56 insertions(+), 39 deletions(-) diff --git a/src/game/lib/flat_button/typing_app_button.js b/src/game/lib/flat_button/typing_app_button.js index 5bceca9..7eb7994 100644 --- a/src/game/lib/flat_button/typing_app_button.js +++ b/src/game/lib/flat_button/typing_app_button.js @@ -1,9 +1,8 @@ TypingAppButton.prototype = Object.create(BasicButton.prototype); TypingAppButton.constructor = TypingAppButton; -function TypingAppButton(x, y, appData) { - console.log(appData); - this.appData = appData; +function TypingAppButton(x, y) { + this.appData = null; var setting = new ButtonSetting(x, y, 400, 80); setting.setStrokeWidth(0); @@ -41,20 +40,27 @@ function TypingAppButton(x, y, appData) { BasicButton.call(this, setting, this.clickEvent); - this.setMainText(this.appData.koreanName); - // this.setMainText("Setting"); + // this.setMainText(this.appData.koreanName); + this.setMainText("타자 앱 버튼"); // this.addIcon("tile_choco"); // this.setIconSize(40); // this.setShortcutText("[단축키]"); // this.setShortcutText("Setting"); + // this.setInputEnabled(this.appData.activated); +} + +TypingAppButton.prototype.updateAppData = function(appData) { + this.appData = appData; + + this.setMainText(this.appData.koreanName); this.setInputEnabled(this.appData.activated); } TypingAppButton.prototype.clickEvent = function() { - sessionStorageManager.setPlayingAppID(this.appData.AppID); - sessionStorageManager.setPlayingAppName(this.appData.AppName); - sessionStorageManager.setPlayingAppKoreanName(this.appData.KoreanName); + sessionStorageManager.setPlayingAppID(this.appData.appID); + sessionStorageManager.setPlayingAppName(this.appData.appName); + sessionStorageManager.setPlayingAppKoreanName(this.appData.koreanName); if(isExperiencePlayerAccount()) location.href = '../../web/client/ads.html'; diff --git a/src/game/main_menu/main_menu.js b/src/game/main_menu/main_menu.js index 0fc8fcb..424901b 100644 --- a/src/game/main_menu/main_menu.js +++ b/src/game/main_menu/main_menu.js @@ -65,6 +65,7 @@ MainMenu.prototype.create = function() { this.languageTabLayout = null; this.typingAppButtons = new Array(); + this.makeTypingAppButtons(); this.writingAppButtons = new Array(); this.mouseAppButtons = new Array(); @@ -167,32 +168,40 @@ MainMenu.prototype.loadAppData = function() { */ } -MainMenu.prototype.removeAllButtons = function() { - // remove all buttons +MainMenu.prototype.makeTypingAppButtons = function() { + for(var i = 0; i < MainMenu.TYPING_APP_COUNT; i++) { + var x = (i % 2) === 0 ? 300 : 800; + var y = 200 + Math.floor(i / 2) * 100; + + var button = new TypingAppButton(x, y); + this.typingAppButtons.push(button); + } +} + +MainMenu.prototype.hideAllButtons = function() { + // hide all buttons } MainMenu.prototype.updateAppButtons = function(appGroup, appData) { - this.removeAllButtons(); - switch(parseInt(appGroup)) { case MainMenu.APP_GROUP_TYPING_PRACTICE: - this.makeTypingPracticeAppButtons(appData); + this.updateTypingPracticeAppButtons(appData); break; case MainMenu.APP_GROUP_TYPING_TEST: - this.makeTypingTestAppButtons(appData); + this.updateTypingTestAppButtons(appData); break; case MainMenu.APP_GROUP_TYPING_EXAM: - this.makeTypingExamAppButtons(appData); + this.updateTypingExamAppButtons(appData); break; case MainMenu.APP_GROUP_TYPING_PLAY: - this.makeTypingPlayAppButtons(appData); + this.updateTypingPlayAppButtons(appData); break; case MainMenu.APP_GROUP_MOUSE_PLAY: - this.makeMousePlayAppButtons(appData); + this.updateMousePlayAppButtons(appData); break; default: @@ -201,11 +210,9 @@ MainMenu.prototype.updateAppButtons = function(appGroup, appData) { } MainMenu.prototype.clearTypingAppButtons = function(appData) { - var count = this.typingAppButtons.length; - for(var i = 0; i < count; i++) { - var tempButton = this.typingAppButtons.pop(); - tempButton.setActive(false); - delete tempButton; + for(var i = 0; i < MainMenu.TYPING_APP_COUNT; i++) { + var button = this.typingAppButtons[i]; + button.setActive(false); } } @@ -250,39 +257,41 @@ MainMenu.prototype.makeTypingPracticeAppDataList = function(appData) { return appDataList; } -MainMenu.prototype.makeTypingPracticeAppButtons = function(appData) { - console.log("makeTypingPracticeAppButtons"); +MainMenu.prototype.updateTypingPracticeAppButtons = function(appData) { + console.log("updateTypingPracticeAppButtons"); this.clearTypingAppButtons(); var buttonIndex = 0; var appDataList = this.makeTypingPracticeAppDataList(appData); var count = appDataList.length; - for(var i = 0; i < count; i++) { - var x = (i % 2) === 0 ? 300 : 800; - var y = 200 + Math.floor(i / 2) * 100; - - var leftButton = new TypingAppButton(x, y,appDataList[i]); - this.typingAppButtons.push(leftButton); + for(var i = 0; i < MainMenu.TYPING_APP_COUNT; i++) { + var button = this.typingAppButtons[i]; + if(i < count) { + button.setActive(true); + button.updateAppData(appDataList[i]); + } else { + button.setActive(false); + } } } -MainMenu.prototype.makeTypingTestAppButtons = function(appData) { - console.log("makeTypingTestAppButtons"); +MainMenu.prototype.updateTypingTestAppButtons = function(appData) { + console.log("updateTypingTestAppButtons"); console.log(appData); } -MainMenu.prototype.makeTypingExamAppButtons = function(appData) { - console.log("makeTypingExamAppButtons"); +MainMenu.prototype.updateTypingExamAppButtons = function(appData) { + console.log("updateTypingExamAppButtons"); console.log(appData); } -MainMenu.prototype.makeTypingPlayAppButtons = function(appData) { - console.log("makeTypingPlayAppButtons"); +MainMenu.prototype.updateTypingPlayAppButtons = function(appData) { + console.log("updateTypingPlayAppButtons"); console.log(appData); } -MainMenu.prototype.makeMousePlayAppButtons = function(appData) { - console.log("makeMousePlayAppButtons"); +MainMenu.prototype.updateMousePlayAppButtons = function(appData) { + console.log("updateMousePlayAppButtons"); console.log(appData); } @@ -584,4 +593,6 @@ MainMenu.APP_GROUP_TYPING_PLAY = 3; MainMenu.APP_GROUP_MOUSE_PLAY = 4; MainMenu.LANGUAGE_KOREAN = 0; -MainMenu.LANGUAGE_ENGLISH = 1; \ No newline at end of file +MainMenu.LANGUAGE_ENGLISH = 1; + +MainMenu.TYPING_APP_COUNT = 10; \ No newline at end of file