Fix: show best record with DB

This commit is contained in:
2018-06-05 18:29:19 +09:00
parent cc59e9e739
commit 3f43f80c3d
6 changed files with 56 additions and 16 deletions
+6
View File
@@ -8,6 +8,8 @@ class ScreenBottom {
this.BOTTOM_BAR_NAME_WIDTH = 200;
this.BOTTOM_BAR_TEXT_OFFSET = 10;
this.dbConnectManager = new DBConnectManager();
this.bottomAreaPositionY = game.world.height - this.BOTTOM_BAR_HEIGHT;
let style = { font: "32px Arial", fill: "#fff", align: "left", boundsAlignH: "left", boundsAlignV: "bottom" };
@@ -61,4 +63,8 @@ class ScreenBottom {
this.rightText.text = text;
}
printBottomLeftTextWithBestRecord(bestRecord) {
this.printBottomLeftText("오늘의 최고 기록 : " + bestRecord);
}
}
+8
View File
@@ -75,4 +75,12 @@ class SessionStorageManager {
return sessionStorage.getItem("bestRecord");
}
// best record
set isNewBestRecord(value) {
sessionStorage.setItem("isNewBestRecord", value);
}
get isNewBestRecord() {
return sessionStorage.getItem("isNewBestRecord");
}
}
+15 -12
View File
@@ -6,21 +6,13 @@ class Game {
create() {
this.game.stage.backgroundColor = '#4d4d4d';
sessionStorageManager.isNewBestRecrd = false;
// top
let backButton = new BackButton( () => {
location.href = '../../web/client/menu_app.html';
});
let scoreBoard = new ScoreBoard();
scoreManager.addOnChangeScoreListener( score => {
sessionStorageManager.record = score;
scoreBoard.printScore(NumberUtil.numberWithCommas(score));
});
scoreManager.addOnChangeHighScoreListener( highScore => {
sessionStorageManager.bestRecord = highScore;
screenBottom.printBottomLeftText("최고 기록 : " + NumberUtil.numberWithCommas(highScore));
});
let heartGauge = new HeartGauge(heartManager);
heartManager.addOnChangeGameOverListener(
() => { this.gameOver(); }
@@ -30,6 +22,18 @@ class Game {
let fullscreenButton = new FullscreenButton(this.game);
let scoreBoard = new ScoreBoard();
scoreManager.addOnChangeScoreListener( score => {
sessionStorageManager.record = score;
scoreBoard.printScore(NumberUtil.numberWithCommas(score));
});
scoreManager.addOnChangeHighScoreListener( highScore => {
sessionStorageManager.bestRecord = highScore;
sessionStorageManager.isNewBestRecrd = true;
screenBottom.printBottomLeftTextWithBestRecord();
});
// waiting room
this.game.add.graphics()
.beginFill(0xffffff, 0.1)
@@ -58,8 +62,7 @@ class Game {
// bottom
let screenBottom = new ScreenBottom();
screenBottom.makeBottomLine();
let highScore = NumberUtil.numberWithCommas(scoreManager.getHighScore());
screenBottom.printBottomLeftText("최고 기록 : " + highScore);
screenBottom.printBottomLeftTextWithBestRecord(sessionStorageManager.bestRecord);
screenBottom.printBottomCenterText(sessionStorageManager.playingAppKoreanName);
screenBottom.printBottomRightText(sessionStorageManager.playerName);
+12 -1
View File
@@ -34,7 +34,7 @@ class Result {
// bottom
let screenBottom = new ScreenBottom();
screenBottom.makeBottomLine();
screenBottom.printBottomLeftText("게임 진행 정보");
screenBottom.printBottomLeftTextWithBestRecord(sessionStorageManager.bestRecord);
screenBottom.printBottomCenterText(sessionStorageManager.playingAppKoreanName);
screenBottom.printBottomRightText(sessionStorageManager.playerName);
}
@@ -54,6 +54,16 @@ class Result {
.setTextBounds(0, posY, game.world.width, 60)
.setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2);
if(sessionStorageManager.isNewBestRecrd === true) {
style.font = "32px Arial";
let bestRecordText = game.add.text(0, 0, "!!! 새로운 최고 기록 !!!", style)
.setTextBounds(0, posY + 80, game.world.width, 40);
// .setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2);
bestRecordText.stroke = "#333";
bestRecordText.strokeThickness = 5;
}
/*
if(sessionStorageManager.bestRecord === null)
sessionStorageManager.bestRecord = 0;
let bestRecord = NumberUtil.numberWithCommas(sessionStorageManager.bestRecord);
@@ -63,6 +73,7 @@ class Result {
// .setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2);
bestRecordText.stroke = "#333";
bestRecordText.strokeThickness = 5;
*/
}
uploadRecord() {
+14 -3
View File
@@ -58,10 +58,21 @@ class Start {
// bottom
let screenBottom = new ScreenBottom();
screenBottom.makeBottomLine();
screenBottom.printBottomLeftText("게임 진행 정보");
let playingAppKoreanName = sessionStorageManager.playingAppKoreanName;
screenBottom.printBottomCenterText(playingAppKoreanName);
screenBottom.printBottomLeftText("오늘의 최고 기록 : ");
screenBottom.printBottomCenterText(sessionStorageManager.playingAppKoreanName);
screenBottom.printBottomRightText(sessionStorageManager.playerName);
this.dbConnectManager.requestTodayBestRecord(
sessionStorageManager.maestroID,
sessionStorageManager.playerUserID,
sessionStorageManager.playingAppID,
replyJSON => {
sessionStorageManager.BestRecord = Number(replyJSON["BestRecord"]);
let highScoreWithCommas = NumberUtil.numberWithCommas(sessionStorageManager.BestRecord);
screenBottom.printBottomLeftText("오늘의 최고 기록 : " + highScoreWithCommas);
}
);
}
loadHowToPlay(appID) {