Add: PlayAppButton

This commit is contained in:
2019-08-12 22:17:43 +09:00
parent cf467dd2d7
commit b34526151f
5 changed files with 234 additions and 29 deletions
+69 -21
View File
@@ -67,9 +67,11 @@ MainMenu.prototype.create = function() {
this.typingAppButtons = new Array();
this.makeTypingAppButtons();
this.writingAppButtons = new Array();
this.mouseAppButtons = new Array();
this.playAppButtons = new Array();
this.makePlayAppButtons();
this.selectedAppGroup = MainMenu.APP_GROUP_TYPING_PRACTICE;
// this.selectedAppGroup = MainMenu.APP_GROUP_TYPING_PRACTICE;
this.selectedAppGroup = MainMenu.APP_GROUP_TYPING_PLAY;
this.selectedLanguage = MainMenu.LANGUAGE_KOREAN;
// this.animalRecordList.printScore(Animal.TYPE_PRACTICE);
}
@@ -184,15 +186,38 @@ MainMenu.prototype.makeTypingAppButtons = function() {
}
}
MainMenu.prototype.makePlayAppButtons = function() {
var startX = 150;
var startY = 300;
var offsetX = PlayAppButton.WIDTH + 30;
var offsetY = 250;
var buttonHalfWidth = TypingAppButton.WIDTH / 2;
for(var i = 0; i < MainMenu.PLAY_APP_COUNT; i++) {
var x = startX + (i % 5) * offsetX;
var y = Math.floor(i / 5) === 0 ? startY : startY + offsetY;
var button = new PlayAppButton(x, y);
button.setActive(false);
this.playAppButtons.push(button);
}
}
MainMenu.prototype.hideAllButtons = function() {
// hide all buttons
for(var i = 0; i < MainMenu.TYPING_APP_COUNT; i++) {
this.typingAppButtons[i].setActive(false);
}
for(var i = 0; i < MainMenu.PLAY_APP_COUNT; i++) {
this.playAppButtons[i].setActive(false);
}
}
MainMenu.prototype.updateAppButtons = function(appGroup, appData) {
this.hideAllButtons();
switch(parseInt(appGroup)) {
case MainMenu.APP_GROUP_TYPING_PRACTICE:
this.updateTypingPracticeAppButtons(appGroup, appData);
@@ -207,11 +232,13 @@ MainMenu.prototype.updateAppButtons = function(appGroup, appData) {
break;
case MainMenu.APP_GROUP_TYPING_PLAY:
this.updateTypingPlayAppButtons(appData);
this.updatePlayAppButtons(appData);
// this.updateTypingPlayAppButtons(appData);
break;
case MainMenu.APP_GROUP_MOUSE_PLAY:
this.updateMousePlayAppButtons(appData);
this.updatePlayAppButtons(appData);
// this.updateMousePlayAppButtons(appData);
break;
default:
@@ -219,13 +246,6 @@ MainMenu.prototype.updateAppButtons = function(appGroup, appData) {
}
}
MainMenu.prototype.clearTypingAppButtons = function(appData) {
for(var i = 0; i < MainMenu.TYPING_APP_COUNT; i++) {
var button = this.typingAppButtons[i];
button.setActive(false);
}
}
MainMenu.prototype.isActivatedApp = function(appID, activeAppList) {
var count = activeAppList.length;
for(var i = 0; i < count; i++) {
@@ -268,9 +288,29 @@ MainMenu.prototype.makeTypingPracticeAppDataList = function(appGroup, appData) {
return appDataList;
}
MainMenu.prototype.makePlayAppDataList = function(appData) {
var appDataList = new Array();
var appList = appData.appList;
if(appList.length === 0)
return [];
var count = appList.length;
for(var appDataIndex = 0; appDataIndex < count; appDataIndex++) {
var data = {};
data["appID"] = appList[appDataIndex].appID;
data["appName"] = appList[appDataIndex].appName;
data["koreanName"] = appList[appDataIndex].koreanName;
data["activated"] = this.isActivatedApp(appList[appDataIndex].appID, appData.activeAppList);
// data["highestRecord"] = this.getAppHighestRecord(appList[appDataIndex].appID, appData.highestRecordList);
appDataList.push(data);
}
return appDataList;
}
MainMenu.prototype.updateTypingPracticeAppButtons = function(appGroup, appData) {
console.log("updateTypingPracticeAppButtons");
this.clearTypingAppButtons();
var buttonIndex = 0;
var appDataList = this.makeTypingPracticeAppDataList(appGroup, appData);
@@ -289,7 +329,6 @@ MainMenu.prototype.updateTypingPracticeAppButtons = function(appGroup, appData)
MainMenu.prototype.updateTypingTestAppButtons = function(appGroup, appData) {
console.log("updateTypingTestAppButtons");
this.clearTypingAppButtons();
var buttonIndex = 0;
var appDataList = this.makeTypingPracticeAppDataList(appGroup, appData);
@@ -311,14 +350,22 @@ MainMenu.prototype.updateTypingExamAppButtons = function(appData) {
console.log(appData);
}
MainMenu.prototype.updateTypingPlayAppButtons = function(appData) {
console.log("updateTypingPlayAppButtons");
console.log(appData);
}
MainMenu.prototype.updatePlayAppButtons = function(appData) {
console.log("updatePlayAppButtons");
MainMenu.prototype.updateMousePlayAppButtons = function(appData) {
console.log("updateMousePlayAppButtons");
console.log(appData);
var buttonIndex = 0;
var appDataList = this.makePlayAppDataList(appData);
var count = appDataList.length;
for(var i = 0; i < MainMenu.PLAY_APP_COUNT; i++) {
var button = this.playAppButtons[i];
if(i < count) {
button.setActive(true);
button.updateAppData(appDataList[i]);
} else {
button.setActive(true);
button.showEmptyDisabled();
}
}
}
@@ -621,4 +668,5 @@ MainMenu.APP_GROUP_MOUSE_PLAY = 4;
MainMenu.LANGUAGE_KOREAN = 0;
MainMenu.LANGUAGE_ENGLISH = 1;
MainMenu.TYPING_APP_COUNT = 10;
MainMenu.TYPING_APP_COUNT = 10;
MainMenu.PLAY_APP_COUNT = 10;