Fix: typing app menu
This commit is contained in:
@@ -23,8 +23,7 @@ class MenuTypingPractice {
|
||||
let screenBottom = new ScreenBottom();
|
||||
screenBottom.makeBottomLine();
|
||||
// screenBottom.printBottomLeftText("게임 진행 정보");
|
||||
let playingAppName = appInfoManager.getAppNameKorean(sessionStorageManager.playingAppName);
|
||||
screenBottom.printBottomCenterText(playingAppName);
|
||||
screenBottom.printBottomCenterText("타자 연습");
|
||||
screenBottom.printBottomRightText(sessionStorageManager.playerName);
|
||||
|
||||
|
||||
@@ -43,96 +42,97 @@ class MenuTypingPractice {
|
||||
}
|
||||
|
||||
loginSucceeded(replyJSON) {
|
||||
console.log(replyJSON);
|
||||
// console.log(replyJSON);
|
||||
|
||||
let buttonWidthGap = MenuTypingPractice.BUTTON_WIDTH + MenuTypingPractice.BUTTON_GAP;
|
||||
let buttonWidthGap = TypingPracticeButton.BUTTON_WIDTH + MenuTypingPractice.BUTTON_GAP;
|
||||
|
||||
let koreanTypingPracticeAppCount = self.getAppCount(replyJSON, MenuTypingPractice.TYPE_KOREAN);
|
||||
let englishTypingPracticeAppCount = self.getAppCount(replyJSON, MenuTypingPractice.TYPE_ENGLISH);
|
||||
let koreanTypingPracticeAppCount = Object.keys(replyJSON.Korean).length;
|
||||
let englishTypingPracticeAppCount = Object.keys(replyJSON.English).length;
|
||||
|
||||
let startX = game.world.width / 2 - (buttonWidthGap * koreanTypingPracticeAppCount / 2) - (buttonWidthGap / 2);
|
||||
let koreanTypingPracticeAppIndex = 0;
|
||||
for(let i = 0; i < replyJSON.length; i++) {
|
||||
let activeApp = replyJSON[i];
|
||||
if(self.isKoreanApp(activeApp)) {
|
||||
koreanTypingPracticeAppIndex++;
|
||||
console.log(activeApp);
|
||||
new TypingPracticeButton(
|
||||
startX + buttonWidthGap * koreanTypingPracticeAppIndex, 300,
|
||||
TypingPracticeButton.TYPE_KOREAN,
|
||||
TypingPracticeButton.NONE_ICON,
|
||||
appInfoManager.getAppNameKorean(activeApp.AppName),
|
||||
() => {
|
||||
sessionStorageManager.playingAppID = activeApp.AppID;
|
||||
sessionStorageManager.playingAppName = activeApp.AppName;
|
||||
location.href = '../../web/client/start.html';
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
// let startX = game.world.width / 2 - (buttonWidthGap * koreanTypingPracticeAppCount / 2) - (buttonWidthGap / 2);
|
||||
// let koreanTypingPracticeAppIndex = 0;
|
||||
for(let i = 0; i < koreanTypingPracticeAppCount; i++) {
|
||||
let activeApp = replyJSON.Korean[i];
|
||||
|
||||
startX = game.world.width / 2 - (buttonWidthGap * koreanTypingPracticeAppCount / 2) - (buttonWidthGap / 2);
|
||||
let englishTypingPracticeAppIndex = 0;
|
||||
for(let i = 0; i < replyJSON.length; i++) {
|
||||
let activeApp = replyJSON[i];
|
||||
if(!self.isKoreanApp(activeApp)) {
|
||||
englishTypingPracticeAppIndex++;
|
||||
console.log(activeApp);
|
||||
new TypingPracticeButton(
|
||||
startX + buttonWidthGap * englishTypingPracticeAppIndex, 500,
|
||||
TypingPracticeButton.TYPE_ENGLISH,
|
||||
TypingPracticeButton.NONE_ICON,
|
||||
appInfoManager.getAppNameKorean(activeApp.AppName),
|
||||
() => {
|
||||
sessionStorageManager.playingAppID = activeApp.AppID;
|
||||
sessionStorageManager.playingAppName = activeApp.AppName;
|
||||
location.href = '../../web/client/start.html';
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
let posX = self.getButtonPosX(i, koreanTypingPracticeAppCount);
|
||||
let posY = self.getButtonPosY(i, koreanTypingPracticeAppCount,
|
||||
TypingPracticeButton.BUTTON_UPPER_POS_Y
|
||||
);
|
||||
|
||||
/*
|
||||
if(englishTypingPracticeAppCount > 0) {
|
||||
new TypingPracticeButton(game.world.width / 2, 500, TypingPracticeButton.TYPE_KOREAN,
|
||||
TypingPracticeButton.NONE_ICON, "검지 글쇠",
|
||||
new TypingPracticeButton(
|
||||
posX, posY, LANGUAGE_KOREAN,
|
||||
TypingPracticeButton.NONE_ICON,
|
||||
activeApp.KoreanName,
|
||||
() => {
|
||||
sessionStorageManager.playingAppID = activeApp.AppID;
|
||||
sessionStorageManager.playingAppName = activeApp.AppName;
|
||||
location.href = '../../web/client/start.html';
|
||||
sessionStorageManager.playingAppID = activeApp.AppID;
|
||||
sessionStorageManager.playingAppName = activeApp.AppName;
|
||||
location.href = '../../web/client/start.html';
|
||||
}
|
||||
);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
isKoreanApp(app) {
|
||||
if(app.AppType === MenuTypingPractice.TYPE_KOREAN)
|
||||
return true;
|
||||
// startX = game.world.width / 2 - (buttonWidthGap * englishTypingPracticeAppCount / 2) - (buttonWidthGap / 2);
|
||||
for(let i = 0; i < englishTypingPracticeAppCount; i++) {
|
||||
let activeApp = replyJSON.English[i];
|
||||
|
||||
return false;
|
||||
}
|
||||
let posX = self.getButtonPosX(i, englishTypingPracticeAppCount);
|
||||
let posY = self.getButtonPosY(i, englishTypingPracticeAppCount,
|
||||
TypingPracticeButton.BUTTON_LOWER_POS_Y
|
||||
);
|
||||
|
||||
getAppCount(replyJSON, type) {
|
||||
let appCount = 0;
|
||||
for(let i = 0; i < replyJSON.length; i++) {
|
||||
let activeApp = replyJSON[i];
|
||||
if(activeApp.AppType === type)
|
||||
appCount++;
|
||||
new TypingPracticeButton(
|
||||
posX, posY, LANGUAGE_ENGLISH,
|
||||
TypingPracticeButton.NONE_ICON,
|
||||
activeApp.KoreanName,
|
||||
() => {
|
||||
sessionStorageManager.playingAppID = activeApp.AppID;
|
||||
sessionStorageManager.playingAppName = activeApp.AppName;
|
||||
location.href = '../../web/client/start.html';
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
return appCount;
|
||||
}
|
||||
|
||||
getButtonPosX(index, buttonCount) {
|
||||
let gap = TypingPracticeButton.BUTTON_WIDTH + TypingPracticeButton.BUTTON_GAP;
|
||||
let maxColumnNum = Math.floor( (game.world.width - TypingPracticeButton.MARGIN_VERTICAL) / gap );
|
||||
// console.log("maxColumnNum : " + maxColumnNum);
|
||||
let rowCount = Math.ceil(buttonCount / maxColumnNum);
|
||||
// console.log("rowCount : " + rowCount);
|
||||
|
||||
let columnIndex = index % maxColumnNum;
|
||||
// console.log("columnIndex : " + columnIndex);
|
||||
let rowIndex = Math.floor(index / maxColumnNum);
|
||||
// console.log("rowIndex : " + rowIndex);
|
||||
|
||||
let columnCountForThisRow = 0;
|
||||
if(rowIndex < rowCount - 1)
|
||||
columnCountForThisRow = maxColumnNum;
|
||||
else
|
||||
columnCountForThisRow = buttonCount - (maxColumnNum * rowIndex);
|
||||
// console.log("columnCountForThisRow : " + columnCountForThisRow);
|
||||
|
||||
let startX = game.world.width / 2 - ( (gap / 2) * (columnCountForThisRow - 1) );
|
||||
return startX + gap * columnIndex;
|
||||
}
|
||||
|
||||
getButtonPosY(index, buttonCount, startPosY) {
|
||||
let gap = TypingPracticeButton.BUTTON_HEIGHT + TypingPracticeButton.BUTTON_GAP;
|
||||
let maxColumnNum = Math.floor( (game.world.width - TypingPracticeButton.MARGIN_VERTICAL) / gap );
|
||||
// console.log("maxColumnNum : " + maxColumnNum);
|
||||
let rowCount = Math.ceil(buttonCount / maxColumnNum);
|
||||
// console.log("rowCount : " + rowCount);
|
||||
|
||||
let rowIndex = Math.floor(index / maxColumnNum);
|
||||
// console.log("rowIndex : " + rowIndex);
|
||||
|
||||
let startY = startPosY - ( (gap / 2) * (rowCount - 1) );
|
||||
return startY + gap * rowIndex;
|
||||
}
|
||||
|
||||
|
||||
loginFailed(replyJSON) {
|
||||
console.log('login failed, jsonData : ' + JSON.stringify(replyJSON));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
MenuTypingPractice.TYPE_KOREAN = 10;
|
||||
MenuTypingPractice.TYPE_ENGLISH = 20;
|
||||
|
||||
MenuTypingPractice.BUTTON_WIDTH = 200;
|
||||
MenuTypingPractice.BUTTON_GAP = 20;
|
||||
}
|
||||
Reference in New Issue
Block a user