Add: active_app.php
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
class AppButton {
|
||||
|
||||
constructor(type, iconName, clickEvent) {
|
||||
constructor(x, y, type, iconName, clickEvent) {
|
||||
let setting = new RoundRectButtonSetting(150, 150);
|
||||
setting.fontStyle.boundsAlignH = "center"; // left, center. right
|
||||
setting.fontStyle.boundsAlignV = "middle"; // top, middle, bottom
|
||||
@@ -52,6 +52,8 @@ class AppButton {
|
||||
|
||||
this.button = new RoundRectButton(setting, "", clickEvent);
|
||||
this.button.setIcon(icon_fullscreen);
|
||||
|
||||
this.move(x, y);
|
||||
}
|
||||
|
||||
move(x, y) {
|
||||
|
||||
@@ -53,17 +53,34 @@ class DBConnectManager {
|
||||
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function() {
|
||||
if(xhr.readyState == 4 && xhr.status == 200) {
|
||||
let jsonData = JSON.parse(xhr.responseText);
|
||||
let replyJSON = JSON.parse(xhr.responseText);
|
||||
|
||||
if(jsonData != null && jsonData["UserID"] != null)
|
||||
onSucceededListener(jsonData);
|
||||
if(replyJSON != null && replyJSON["UserID"] != null)
|
||||
onSucceededListener(replyJSON);
|
||||
else
|
||||
onFailedListener(jsonData);
|
||||
onFailedListener(replyJSON);
|
||||
}
|
||||
};
|
||||
xhr.send("maestro_name=" + maestroName + "&name=" + userName + "&enter_code=" + enterCode);
|
||||
}
|
||||
|
||||
requestActiveAppList(maestroID, onSucceededListener, onFailedListener) {
|
||||
let xhr = new XMLHttpRequest();
|
||||
xhr.open("POST", this.phpPath + "server/app/active_app.php", true);
|
||||
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function() {
|
||||
if(xhr.readyState == 4 && xhr.status == 200) {
|
||||
let replyJSON = JSON.parse(xhr.responseText);
|
||||
|
||||
if(replyJSON != null && replyJSON.length > 0)
|
||||
onSucceededListener(replyJSON);
|
||||
else
|
||||
onFailedListener(replyJSON);
|
||||
}
|
||||
};
|
||||
xhr.send("maestro_id=" + maestroID);
|
||||
}
|
||||
|
||||
requestPlayerHistory(date, listener) {
|
||||
let historyRecordManager = new HistoryRecordManager();
|
||||
|
||||
@@ -85,13 +102,13 @@ class DBConnectManager {
|
||||
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function() {
|
||||
if(xhr.readyState == 4 && xhr.status == 200) {
|
||||
let jsonData = JSON.parse(xhr.responseText);
|
||||
let replyJSON = JSON.parse(xhr.responseText);
|
||||
|
||||
if(jsonData != null) {
|
||||
listener(self.parseJSONtoHistoryRecord(jsonData));
|
||||
if(replyJSON != null) {
|
||||
listener(self.parseJSONtoHistoryRecord(replyJSON));
|
||||
}
|
||||
else
|
||||
onFailedListener(jsonData);
|
||||
onFailedListener(replyJSON);
|
||||
}
|
||||
};
|
||||
let params = "UserID=" + sessionStorageManager.playerUserID
|
||||
@@ -164,13 +181,13 @@ class DBConnectManager {
|
||||
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||
xhr.onreadystatechange = function() {
|
||||
if(xhr.readyState == 4 && xhr.status == 200) {
|
||||
let jsonData = JSON.parse(xhr.responseText);
|
||||
let replyJSON = JSON.parse(xhr.responseText);
|
||||
|
||||
if(jsonData != null) {
|
||||
listener(type, self.parseJSONtoRankingRecord(type, jsonData));
|
||||
if(replyJSON != null) {
|
||||
listener(type, self.parseJSONtoRankingRecord(type, replyJSON));
|
||||
}
|
||||
else
|
||||
onFailedListener(jsonData);
|
||||
onFailedListener(replyJSON);
|
||||
}
|
||||
};
|
||||
let params = "UserID=" + sessionStorageManager.playerUserID
|
||||
@@ -209,34 +226,34 @@ class DBConnectManager {
|
||||
if(typeof json === "undefined")
|
||||
return rankingRecordManager;
|
||||
|
||||
let jsonData = null;
|
||||
let replyJSON = null;
|
||||
switch(type) {
|
||||
case DBConnectManager.TYPE_MY_RANKING_HOUR:
|
||||
case DBConnectManager.TYPE_ALL_RANKING_HOUR:
|
||||
jsonData = json.rankingHour;
|
||||
replyJSON = json.rankingHour;
|
||||
break;
|
||||
|
||||
case DBConnectManager.TYPE_MY_RANKING_DAY:
|
||||
case DBConnectManager.TYPE_ALL_RANKING_DAY:
|
||||
jsonData = json.rankingDay;
|
||||
replyJSON = json.rankingDay;
|
||||
break;
|
||||
|
||||
case DBConnectManager.TYPE_MY_RANKING_MONTH:
|
||||
case DBConnectManager.TYPE_ALL_RANKING_MONTH:
|
||||
jsonData = json.rankingMonth;
|
||||
replyJSON = json.rankingMonth;
|
||||
break;
|
||||
}
|
||||
|
||||
if(jsonData === null)
|
||||
if(replyJSON === null)
|
||||
return rankingRecordManager;
|
||||
|
||||
let count = jsonData.length;
|
||||
let count = replyJSON.length;
|
||||
for(let i = 0; i < count; i++) {
|
||||
let record = new RankingRecord(
|
||||
i + 1,
|
||||
jsonData[i]["UserID"],
|
||||
jsonData[i]["Name"],
|
||||
jsonData[i]["HighScore"]
|
||||
replyJSON[i]["UserID"],
|
||||
replyJSON[i]["Name"],
|
||||
replyJSON[i]["HighScore"]
|
||||
);
|
||||
rankingRecordManager.push(record);
|
||||
}
|
||||
@@ -253,12 +270,12 @@ class DBConnectManager {
|
||||
makeXHRWithParam(url, param, onSucceededListener, onFailedListener) {
|
||||
xhr.onreadystatechange = function() {
|
||||
if(xhr.readyState == 4 && xhr.status == 200) {
|
||||
let jsonData = JSON.parse(xhr.responseText);
|
||||
let replyJSON = JSON.parse(xhr.responseText);
|
||||
|
||||
if(jsonData != null && jsonData["UserID"] != null)
|
||||
onSucceededListener(jsonData);
|
||||
if(replyJSON != null && replyJSON["UserID"] != null)
|
||||
onSucceededListener(replyJSON);
|
||||
else
|
||||
onFailedListener(jsonData);
|
||||
onFailedListener(replyJSON);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+54
-75
@@ -5,38 +5,21 @@ 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);
|
||||
|
||||
|
||||
// app icons
|
||||
let space_invaders = new AppButton(AppButton.TYPE_MOUSE, "icon_fullscreen",
|
||||
() => {
|
||||
sessionStorageManager.playingAppName = "space_invaders";
|
||||
location.href = '../../web/client/start.html';
|
||||
}
|
||||
);
|
||||
space_invaders.move(400, 400);
|
||||
|
||||
let typing_practice = new AppButton(AppButton.TYPE_TYPING, "icon_fullscreen",
|
||||
() => {
|
||||
console.log("typing practice");
|
||||
}
|
||||
);
|
||||
typing_practice.move(600, 400);
|
||||
|
||||
|
||||
// bottom
|
||||
let screenBottom = new ScreenBottom();
|
||||
screenBottom.makeBottomLine();
|
||||
@@ -45,77 +28,73 @@ class MenuApp {
|
||||
screenBottom.printBottomCenterText(playingAppName);
|
||||
screenBottom.printBottomRightText(sessionStorageManager.playerName);
|
||||
|
||||
// this.loadTypingStageData();
|
||||
|
||||
this.makeActiveAppButtons();
|
||||
}
|
||||
|
||||
loadTypingStageData() {
|
||||
var self = this;
|
||||
|
||||
xhr = new XMLHttpRequest();
|
||||
xhr.onreadystatechange = function() {
|
||||
// console.log("onreadystatechange : " + xhr);
|
||||
// console.log("xhr.readyState : " + xhr.readyState);
|
||||
// console.log("xhr.status : " + xhr.status);
|
||||
if(xhr.readyState == 4 && xhr.status == 200) {
|
||||
// console.log(xhr.responseText);
|
||||
var jsonData = JSON.parse(xhr.responseText);
|
||||
self.updateStageButton(jsonData);
|
||||
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.playingAppName = activeApp.AppName;
|
||||
location.href = '../../web/client/start.html';
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
xhr.open('GET', 'activated_stage_list.php', true);
|
||||
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
updateStageButton(jsonData) {
|
||||
// console.log(JSON.stringify(jsonData));
|
||||
|
||||
for(var i = 0; i < jsonData.length; i++) {
|
||||
// console.log(jsonData[i]["StageName"] + " : " + jsonData[i]["Activated"]);
|
||||
|
||||
this.activateStageButton(
|
||||
// jsonData[i]["Language"],
|
||||
jsonData[i]["StageName"],
|
||||
jsonData[i]["Activated"]
|
||||
if(typingAppCount > 0) {
|
||||
new AppButton(game.world.width / 2, 500, AppButton.TYPE_TYPING, "icon_fullscreen",
|
||||
() => {
|
||||
location.href = '../../web/client/menu_typing_app.html';
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
activateStageButton(stageName, isActivated) {
|
||||
for(var i = 0; i < this.stageButtonArray.length; i++) {
|
||||
var buttonName = this.stageButtonArray[i].name;
|
||||
var buttonLanguage = buttonName.charAt(0) == "k" ? "korean" : "english";
|
||||
var buttonStageName = getStageCodeByStageNo(buttonName.substring(1));
|
||||
var buttonNewName = buttonLanguage + "_" + buttonStageName;
|
||||
// console.log("buttonNewName : " + buttonNewName);
|
||||
isMouseApp(app) {
|
||||
if(app.AppType > 100)
|
||||
return true;
|
||||
|
||||
if(buttonNewName == stageName) {
|
||||
if(isActivated == true) {
|
||||
// console.log("stageName : " + stageName);
|
||||
|
||||
this.stageButtonArray[i].startButton.alpha = 1;
|
||||
this.stageButtonArray[i].startButton.inputEnabled = true;
|
||||
return;
|
||||
} else {
|
||||
// console.log("this.stageButtonArray[" + i + "].name : " + this.stageButtonArray[i].name);
|
||||
// console.log("buttonNewName : " + buttonNewName);
|
||||
|
||||
this.stageButtonArray[i].startButton.alpha = 0.3;
|
||||
this.stageButtonArray[i].startButton.inputEnabled = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
startStage() {
|
||||
var language = this.name.substring(0, 1) == "k" ? LANGUAGE_KOREAN : LANGUAGE_ENGLISH;
|
||||
var level = this.name.substring(1);
|
||||
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++;
|
||||
}
|
||||
|
||||
playingStageData = new StageData(language, level);
|
||||
// console.log(playingStageData);
|
||||
return appCount;
|
||||
}
|
||||
|
||||
this.startState('TypingTestStage');
|
||||
loginFailed(replyJSON) {
|
||||
console.log('login failed, jsonData : ' + JSON.stringify(replyJSON));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user