101 lines
2.6 KiB
JavaScript
101 lines
2.6 KiB
JavaScript
/////////////////////////////
|
|
// MenuApp
|
|
|
|
class MenuApp {
|
|
|
|
preload() {
|
|
game.load.image('icon_fullscreen', '../../../resources/image/icon/fullscreen_white.png');
|
|
game.load.image('space_invaders', '../../../resources/image/icon/space_invaders.png');
|
|
}
|
|
|
|
create() {
|
|
self = this;
|
|
this.game.stage.backgroundColor = '#4d4d4d';
|
|
|
|
// top
|
|
let backButton = new BackButton( () => {
|
|
sessionStorageManager.clear();
|
|
location.href = '../../web/client/login.html';
|
|
});
|
|
let fullscreenButton = new FullscreenButton(this.game);
|
|
|
|
|
|
// bottom
|
|
let screenBottom = new ScreenBottom();
|
|
screenBottom.makeBottomLine();
|
|
// screenBottom.printBottomLeftText("게임 진행 정보");
|
|
let playingAppName = appInfoManager.getAppNameKorean(sessionStorageManager.playingAppName);
|
|
screenBottom.printBottomCenterText(playingAppName);
|
|
screenBottom.printBottomRightText(sessionStorageManager.playerName);
|
|
|
|
|
|
this.makeActiveAppButtons();
|
|
}
|
|
|
|
|
|
makeActiveAppButtons() {
|
|
let dbConnectManager = new DBConnectManager();
|
|
dbConnectManager.requestActiveAppList(
|
|
sessionStorageManager.maestroID,
|
|
self.loginSucceeded,
|
|
self.loginFailed
|
|
);
|
|
|
|
}
|
|
|
|
loginSucceeded(replyJSON) {
|
|
// console.log(replyJSON);
|
|
|
|
let mouseAppCount = self.getAppCount(replyJSON, AppButton.TYPE_MOUSE);
|
|
let typingAppCount = self.getAppCount(replyJSON, AppButton.TYPE_TYPING);
|
|
|
|
let startX = game.world.width / 2 - (150 * mouseAppCount / 2) - (150 / 2);
|
|
let mouseAppIndex = 0;
|
|
for(let i = 0; i < replyJSON.length; i++) {
|
|
let activeApp = replyJSON[i];
|
|
if(self.isMouseApp(activeApp)) {
|
|
mouseAppIndex++;
|
|
new AppButton(startX + 150 * mouseAppIndex, 300, AppButton.TYPE_MOUSE, activeApp.AppName,
|
|
() => {
|
|
sessionStorageManager.playingAppID = activeApp.AppID;
|
|
sessionStorageManager.playingAppName = activeApp.AppName;
|
|
location.href = '../../web/client/start.html';
|
|
}
|
|
);
|
|
}
|
|
}
|
|
|
|
if(typingAppCount > 0) {
|
|
new AppButton(game.world.width / 2, 500, AppButton.TYPE_TYPING, "icon_fullscreen",
|
|
() => {
|
|
location.href = '../../web/client/menu_typing_app.html';
|
|
}
|
|
);
|
|
}
|
|
}
|
|
|
|
isMouseApp(app) {
|
|
if(app.AppType > 100)
|
|
return true;
|
|
|
|
return false;
|
|
}
|
|
|
|
getAppCount(replyJSON, type) {
|
|
let appCount = 0;
|
|
for(let i = 0; i < replyJSON.length; i++) {
|
|
let activeApp = replyJSON[i];
|
|
if(type == AppButton.TYPE_TYPING && activeApp.AppType <= 100)
|
|
appCount++;
|
|
else if(type == AppButton.TYPE_MOUSE && activeApp.AppType > 100)
|
|
appCount++;
|
|
}
|
|
|
|
return appCount;
|
|
}
|
|
|
|
loginFailed(replyJSON) {
|
|
console.log('login failed, jsonData : ' + JSON.stringify(replyJSON));
|
|
}
|
|
|
|
} |