Fix: save score, highScore

This commit is contained in:
2018-05-15 21:57:23 +09:00
parent ade28f781b
commit 3ed621d9f3
4 changed files with 40 additions and 14 deletions
+8 -8
View File
@@ -22,19 +22,19 @@ const GAME_SCREEN_SIZE = { x: 1024, y: 768 }
let sessionStorageManager = new SessionStorageManager(); let sessionStorageManager = new SessionStorageManager();
{ {
if(isDebugMode()) { // if(isDebugMode()) {
sessionStorageManager.playerName = "박지상"; // sessionStorageManager.playerName = "박지상";
sessionStorageManager.playerUserID = 1; // sessionStorageManager.playerUserID = 1;
sessionStorageManager.playingAppName = "space_invaders"; // sessionStorageManager.playingAppName = "space_invaders";
sessionStorageManager.score = 1000; // sessionStorageManager.score = 1000;
sessionStorageManager.highscore = 2000; // sessionStorageManager.highScore = 2000;
} // }
console.log("playerName : " + sessionStorageManager.playerName); console.log("playerName : " + sessionStorageManager.playerName);
console.log("playerUserID : " + sessionStorageManager.playerUserID); console.log("playerUserID : " + sessionStorageManager.playerUserID);
console.log("playingAppName : " + sessionStorageManager.playingAppName); console.log("playingAppName : " + sessionStorageManager.playingAppName);
console.log("score : " + sessionStorageManager.score); console.log("score : " + sessionStorageManager.score);
console.log("highscore : " + sessionStorageManager.highscore); console.log("highscore : " + sessionStorageManager.highScore);
} }
let appInfoManager = new AppInfoManager(); let appInfoManager = new AppInfoManager();
+16
View File
@@ -35,4 +35,20 @@ class SessionStorageManager {
return sessionStorage.getItem("playingAppName"); return sessionStorage.getItem("playingAppName");
} }
// score
set score(value) {
sessionStorage.setItem("score", value);
}
get score() {
return sessionStorage.getItem("score");
}
// score
set highScore(value) {
sessionStorage.setItem("highScore", value);
}
get highScore() {
return sessionStorage.getItem("highScore");
}
} }
+10
View File
@@ -13,9 +13,11 @@ class Game {
let scoreBoard = new ScoreBoard(); let scoreBoard = new ScoreBoard();
scoreManager.addOnChangeScoreListener( score => { scoreManager.addOnChangeScoreListener( score => {
sessionStorageManager.score = score;
scoreBoard.printScore(NumberUtil.numberWithCommas(score)); scoreBoard.printScore(NumberUtil.numberWithCommas(score));
}); });
scoreManager.addOnChangeHighScoreListener( highScore => { scoreManager.addOnChangeHighScoreListener( highScore => {
sessionStorageManager.highScore = highScore;
screenBottom.printBottomLeftText("최고 기록 : " + NumberUtil.numberWithCommas(highScore)); screenBottom.printBottomLeftText("최고 기록 : " + NumberUtil.numberWithCommas(highScore));
}); });
@@ -107,6 +109,12 @@ class Game {
this.alienTimer.stop(); this.alienTimer.stop();
let gameOverText = new GameOverText(); let gameOverText = new GameOverText();
game.time.events.add(Phaser.Timer.SECOND * 2, this.goResult, this);
}
goResult() {
location.href = '../../web/client/result.html';
} }
activateNextAlien() { activateNextAlien() {
@@ -128,3 +136,5 @@ class Game {
} }
} }
Game.GAME_OVER_WAIT_TIME_MS = 2000;
+5 -5
View File
@@ -57,14 +57,14 @@ class Result {
.setTextBounds(0, posY, game.world.width, 60) .setTextBounds(0, posY, game.world.width, 60)
.setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2); .setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2);
let highscore = NumberUtil.numberWithCommas(sessionStorageManager.highscore); let highScore = NumberUtil.numberWithCommas(sessionStorageManager.highScore);
console.log(highscore); console.log(highScore);
style.font = "32px Arial"; style.font = "32px Arial";
let highscoreText = game.add.text(0, 0, "오늘 최고 기록 : " + highscore, style) let highScoreText = game.add.text(0, 0, "오늘 최고 기록 : " + highScore, style)
.setTextBounds(0, posY + 80, game.world.width, 40); .setTextBounds(0, posY + 80, game.world.width, 40);
// .setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2); // .setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2);
highscoreText.stroke = "#333"; highScoreText.stroke = "#333";
highscoreText.strokeThickness = 5; highScoreText.strokeThickness = 5;
} }