Fix: update typing practice button with DB data

This commit is contained in:
2019-08-11 17:10:18 +09:00
parent 0b8984540e
commit f7b7734904
2 changed files with 56 additions and 39 deletions
+14 -8
View File
@@ -1,9 +1,8 @@
TypingAppButton.prototype = Object.create(BasicButton.prototype); TypingAppButton.prototype = Object.create(BasicButton.prototype);
TypingAppButton.constructor = TypingAppButton; TypingAppButton.constructor = TypingAppButton;
function TypingAppButton(x, y, appData) { function TypingAppButton(x, y) {
console.log(appData); this.appData = null;
this.appData = appData;
var setting = new ButtonSetting(x, y, 400, 80); var setting = new ButtonSetting(x, y, 400, 80);
setting.setStrokeWidth(0); setting.setStrokeWidth(0);
@@ -41,20 +40,27 @@ function TypingAppButton(x, y, appData) {
BasicButton.call(this, setting, this.clickEvent); BasicButton.call(this, setting, this.clickEvent);
this.setMainText(this.appData.koreanName); // this.setMainText(this.appData.koreanName);
// this.setMainText("Setting"); this.setMainText("타자 앱 버튼");
// this.addIcon("tile_choco"); // this.addIcon("tile_choco");
// this.setIconSize(40); // this.setIconSize(40);
// this.setShortcutText("[단축키]"); // this.setShortcutText("[단축키]");
// this.setShortcutText("Setting"); // 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); this.setInputEnabled(this.appData.activated);
} }
TypingAppButton.prototype.clickEvent = function() { TypingAppButton.prototype.clickEvent = function() {
sessionStorageManager.setPlayingAppID(this.appData.AppID); sessionStorageManager.setPlayingAppID(this.appData.appID);
sessionStorageManager.setPlayingAppName(this.appData.AppName); sessionStorageManager.setPlayingAppName(this.appData.appName);
sessionStorageManager.setPlayingAppKoreanName(this.appData.KoreanName); sessionStorageManager.setPlayingAppKoreanName(this.appData.koreanName);
if(isExperiencePlayerAccount()) if(isExperiencePlayerAccount())
location.href = '../../web/client/ads.html'; location.href = '../../web/client/ads.html';
+42 -31
View File
@@ -65,6 +65,7 @@ MainMenu.prototype.create = function() {
this.languageTabLayout = null; this.languageTabLayout = null;
this.typingAppButtons = new Array(); this.typingAppButtons = new Array();
this.makeTypingAppButtons();
this.writingAppButtons = new Array(); this.writingAppButtons = new Array();
this.mouseAppButtons = new Array(); this.mouseAppButtons = new Array();
@@ -167,32 +168,40 @@ MainMenu.prototype.loadAppData = function() {
*/ */
} }
MainMenu.prototype.removeAllButtons = function() { MainMenu.prototype.makeTypingAppButtons = function() {
// remove all buttons 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) { MainMenu.prototype.updateAppButtons = function(appGroup, appData) {
this.removeAllButtons();
switch(parseInt(appGroup)) { switch(parseInt(appGroup)) {
case MainMenu.APP_GROUP_TYPING_PRACTICE: case MainMenu.APP_GROUP_TYPING_PRACTICE:
this.makeTypingPracticeAppButtons(appData); this.updateTypingPracticeAppButtons(appData);
break; break;
case MainMenu.APP_GROUP_TYPING_TEST: case MainMenu.APP_GROUP_TYPING_TEST:
this.makeTypingTestAppButtons(appData); this.updateTypingTestAppButtons(appData);
break; break;
case MainMenu.APP_GROUP_TYPING_EXAM: case MainMenu.APP_GROUP_TYPING_EXAM:
this.makeTypingExamAppButtons(appData); this.updateTypingExamAppButtons(appData);
break; break;
case MainMenu.APP_GROUP_TYPING_PLAY: case MainMenu.APP_GROUP_TYPING_PLAY:
this.makeTypingPlayAppButtons(appData); this.updateTypingPlayAppButtons(appData);
break; break;
case MainMenu.APP_GROUP_MOUSE_PLAY: case MainMenu.APP_GROUP_MOUSE_PLAY:
this.makeMousePlayAppButtons(appData); this.updateMousePlayAppButtons(appData);
break; break;
default: default:
@@ -201,11 +210,9 @@ MainMenu.prototype.updateAppButtons = function(appGroup, appData) {
} }
MainMenu.prototype.clearTypingAppButtons = function(appData) { MainMenu.prototype.clearTypingAppButtons = function(appData) {
var count = this.typingAppButtons.length; for(var i = 0; i < MainMenu.TYPING_APP_COUNT; i++) {
for(var i = 0; i < count; i++) { var button = this.typingAppButtons[i];
var tempButton = this.typingAppButtons.pop(); button.setActive(false);
tempButton.setActive(false);
delete tempButton;
} }
} }
@@ -250,39 +257,41 @@ MainMenu.prototype.makeTypingPracticeAppDataList = function(appData) {
return appDataList; return appDataList;
} }
MainMenu.prototype.makeTypingPracticeAppButtons = function(appData) { MainMenu.prototype.updateTypingPracticeAppButtons = function(appData) {
console.log("makeTypingPracticeAppButtons"); console.log("updateTypingPracticeAppButtons");
this.clearTypingAppButtons(); this.clearTypingAppButtons();
var buttonIndex = 0; var buttonIndex = 0;
var appDataList = this.makeTypingPracticeAppDataList(appData); var appDataList = this.makeTypingPracticeAppDataList(appData);
var count = appDataList.length; var count = appDataList.length;
for(var i = 0; i < count; i++) { for(var i = 0; i < MainMenu.TYPING_APP_COUNT; i++) {
var x = (i % 2) === 0 ? 300 : 800; var button = this.typingAppButtons[i];
var y = 200 + Math.floor(i / 2) * 100; if(i < count) {
button.setActive(true);
var leftButton = new TypingAppButton(x, y,appDataList[i]); button.updateAppData(appDataList[i]);
this.typingAppButtons.push(leftButton); } else {
button.setActive(false);
}
} }
} }
MainMenu.prototype.makeTypingTestAppButtons = function(appData) { MainMenu.prototype.updateTypingTestAppButtons = function(appData) {
console.log("makeTypingTestAppButtons"); console.log("updateTypingTestAppButtons");
console.log(appData); console.log(appData);
} }
MainMenu.prototype.makeTypingExamAppButtons = function(appData) { MainMenu.prototype.updateTypingExamAppButtons = function(appData) {
console.log("makeTypingExamAppButtons"); console.log("updateTypingExamAppButtons");
console.log(appData); console.log(appData);
} }
MainMenu.prototype.makeTypingPlayAppButtons = function(appData) { MainMenu.prototype.updateTypingPlayAppButtons = function(appData) {
console.log("makeTypingPlayAppButtons"); console.log("updateTypingPlayAppButtons");
console.log(appData); console.log(appData);
} }
MainMenu.prototype.makeMousePlayAppButtons = function(appData) { MainMenu.prototype.updateMousePlayAppButtons = function(appData) {
console.log("makeMousePlayAppButtons"); console.log("updateMousePlayAppButtons");
console.log(appData); console.log(appData);
} }
@@ -584,4 +593,6 @@ MainMenu.APP_GROUP_TYPING_PLAY = 3;
MainMenu.APP_GROUP_MOUSE_PLAY = 4; MainMenu.APP_GROUP_MOUSE_PLAY = 4;
MainMenu.LANGUAGE_KOREAN = 0; MainMenu.LANGUAGE_KOREAN = 0;
MainMenu.LANGUAGE_ENGLISH = 1; MainMenu.LANGUAGE_ENGLISH = 1;
MainMenu.TYPING_APP_COUNT = 10;