diff --git a/resources/image/icon/timer_spritesheet.afdesign b/resources/image/icon/timer_spritesheet.afdesign new file mode 100644 index 0000000..82713c5 Binary files /dev/null and b/resources/image/icon/timer_spritesheet.afdesign differ diff --git a/resources/image/icon/timer_spritesheet.png b/resources/image/icon/timer_spritesheet.png new file mode 100644 index 0000000..3ca7c37 Binary files /dev/null and b/resources/image/icon/timer_spritesheet.png differ diff --git a/resources/image/ui/hand.afdesign b/resources/image/ui/handafdesign.afdesign similarity index 100% rename from resources/image/ui/hand.afdesign rename to resources/image/ui/handafdesign.afdesign diff --git a/src/game/lib/session_storage_manager.js b/src/game/lib/session_storage_manager.js index 44230e2..24573dc 100644 --- a/src/game/lib/session_storage_manager.js +++ b/src/game/lib/session_storage_manager.js @@ -113,4 +113,19 @@ SessionStorageManager.prototype.resetPlayingAppData = function() { this.removeItem("playingAppKoreanName"); this.removeItem("record"); this.removeItem("appHighestRecord"); +} + +SessionStorageManager.prototype.resetAllAppData = function() { + this.removeItem("maestroID"); + this.removeItem("maestroName"); + this.removeItem("maestroAccountType"); + this.removeItem("playerName"); + this.removeItem("playerID"); + this.removeItem("playerAccountType"); + this.removeItem("playingAppID"); + this.removeItem("playingAppName"); + this.removeItem("playingAppKoreanName"); + this.removeItem("record"); + this.removeItem("appHighestRecord"); + this.removeItem("isNewAppHighestRecord"); } \ No newline at end of file diff --git a/src/game/lib/sprite/sprite_icon_timer.js b/src/game/lib/sprite/sprite_icon_timer.js new file mode 100644 index 0000000..f1713e5 --- /dev/null +++ b/src/game/lib/sprite/sprite_icon_timer.js @@ -0,0 +1,17 @@ +function SpriteIconTimer(width, height, frame) { + var sprite = game.add.sprite(0, 0, "icon_timer_spritesheet"); + sprite.width = width; + sprite.height = height; + sprite.frame = frame; + + return sprite; +} + +SpriteIconTimer.loadResources = function() { + game.load.spritesheet('icon_timer_spritesheet', '../../../resources/image/icon/timer_spritesheet.png', 100, 100); +} + + +SpriteIconTimer.FRAME_RESET = 0; +SpriteIconTimer.FRAME_PLAY = 1; +SpriteIconTimer.FRAME_PAUSE = 2; \ No newline at end of file diff --git a/src/game/license_timer/input_score.js b/src/game/license_timer/input_score.js index 3142b9e..dacdeb8 100644 --- a/src/game/license_timer/input_score.js +++ b/src/game/license_timer/input_score.js @@ -309,8 +309,11 @@ InputScore.prototype.onClickSendToServerButton = function() { return; } - if(this.passwordText.value == "") { - this.showAlertWindow("자격증 타이머용 비밀번호를 입력해 주세요."); + if(sessionStorageManager.getMaestroID() == 1 && sessionStorageManager.getPlayerID() == 1 && this.passwordText.value != "1111") { + this.showAlertWindow("체험용 마에스트로 비밀번호는 1111 입니다."); + return; + } if(this.passwordText.value == "") { + this.showAlertWindow("비밀번호를 입력해 주세요.\n마에스트로 관리자 페이지에 가서, 자격증 타이머용 비밀번호를 확인하고 입력해 주세요."); return; } this.maestroPassword = this.passwordText.value; diff --git a/src/game/license_timer/license_timer.js b/src/game/license_timer/license_timer.js index b75ce44..0330823 100644 --- a/src/game/license_timer/license_timer.js +++ b/src/game/license_timer/license_timer.js @@ -20,7 +20,11 @@ var LicenseTimer = { screenTopUI.makeFullScreenButton(); var titleTextStyle = { font: "36px Arial", fill: "#fff", align: "center"}; - this.titleText = game.add.text(game.world.centerX, 35, "자격증 타이머", titleTextStyle); + this.titleText = game.add.text( + game.world.centerX, 35, + "자격증 타이머 - " + sessionStorageManager.getPlayerName(), + titleTextStyle + ); this.titleText.anchor.set(0.5); // this.fullscreenButton = new FullscreenButton(); diff --git a/src/game/license_timer/loading.js b/src/game/license_timer/loading.js index 165eb76..babc065 100644 --- a/src/game/license_timer/loading.js +++ b/src/game/license_timer/loading.js @@ -30,6 +30,8 @@ var Loading = { game.load.image('icon_fullscreen', '../../../resources/image/icon/fullscreen_white.png'); game.load.image('icon_home', '../../../resources/image/icon/home.png'); + SpriteIconTimer.loadResources(); + game.load.start(); }, diff --git a/src/game/license_timer/login.js b/src/game/license_timer/login.js index f3e2255..35e5544 100644 --- a/src/game/license_timer/login.js +++ b/src/game/license_timer/login.js @@ -1,7 +1,7 @@ var Login = { create: function() { - // sessionStorageManager.resetPlayingAppData(); + sessionStorageManager.resetAllAppData(); this.game.stage.backgroundColor = '#4d4d4d'; this.textStyle = { font: "bold 32px Arial", fill: "#fff", align: "right", boundsAlignH: "right", boundsAlignV: "middle" }; @@ -48,20 +48,9 @@ var Login = { this.inputTextName.canvasInput.focus(); this.makeStartButton(game.world.centerX, game.world.centerY + 100); + this.makeExperienceButton(game.world.centerX + 225, game.world.centerY + 100); this.makeInfoText(); - - /* - if(isDebugMode()) { - sessionStorageManager.setMaestroID(3); - sessionStorageManager.setMaestroAccountType(4); - sessionStorageManager.setPlayerID(35); - sessionStorageManager.setPlayerName("박지상"); - sessionStorageManager.setPlayerAccountType(0); - - game.state.start('LicenseTimer'); - } - */ }, back: function() { @@ -122,6 +111,61 @@ var Login = { startButton.addShortcutText("Enter"); }, + makeExperienceButton: function(x, y) { + var BUTTON_SIZE = 90; + // var setting = new RoundRectButtonSetting(x, y, BUTTON_SIZE, BUTTON_SIZE); + var setting = new RoundRectButtonSetting(x, y, 150, 100); + // setting.roundAmount = 60; + // setting.strokeWidthPx = 5; + // setting.fontStyle.fontSize = 40; + setting.fontStyle.fontWeight = "bold"; + + setting.setStrokeColor( + 0x309090, + 0x208080, + 0x205050, + 0x666666 + ); + setting.setButtonColor( + 0x40c0c0, + 0x30a0a0, + 0x208080, + 0x666666 + ); + /* + setting.setTextColor( + "#fff", + "#edd", + "#dbb", + "#333" + ); + */ + + var startButton = new RoundRectButton( + setting, + RoundRectButton.NONE_ICON, "체험", + (function() { + this.setExperiencePlayerSessionStorage(); + // this.startMenu(); + game.state.start('LicenseTimer'); + }).bind(this) + ); + }, + + setExperiencePlayerSessionStorage: function() { + sessionStorageManager.setMaestroName(""); + sessionStorageManager.setMaestroID(1); + sessionStorageManager.setMaestroAccountType(100); + sessionStorageManager.setPlayerName("체험 학생"); + sessionStorageManager.setPlayerID(1); + sessionStorageManager.setPlayerAccountType(0); + sessionStorageManager.setPlayingAppID(null); + sessionStorageManager.setPlayingAppName(null); + sessionStorageManager.setPlayingAppKoreanName(null); + sessionStorageManager.setRecord(0); + sessionStorageManager.setAppHighestRecord(0); + }, + makeInfoText: function(x, y) { var textStyle = { font: "30px Arial", fill: "#faa" }; this.infoText = game.add.text(game.world.centerX, 640, "", textStyle); @@ -175,7 +219,7 @@ var Login = { sessionStorageManager.setPlayerName(jsonData['PlayerName']); sessionStorageManager.setPlayerAccountType(jsonData['PlayerAccountType']); - sessionStorageManager.setPlayingAppName("menu"); + // sessionStorageManager.setPlayingAppName("menu"); // location.href = '../../web/client/menu_app.html'; game.state.start('LicenseTimer'); diff --git a/src/game/license_timer/timer.js b/src/game/license_timer/timer.js index 1c0e8b7..a539b63 100644 --- a/src/game/license_timer/timer.js +++ b/src/game/license_timer/timer.js @@ -68,10 +68,13 @@ Timer.prototype.setSubjectName = function(subjectName) { Timer.prototype.makeTimer = function() { this.timeHourText = this.makeTimerTextContent(this.timerCenterX - 240, this.timerCenterY, 160, "00"); - this.timeHourMinuteSeperator = this.makeTimerTextContent(this.timerCenterX - 185, this.timerCenterY, 160, ":"); + // this.timeHourMinuteSeperator = this.makeTimerTextContent(this.timerCenterX - 185, this.timerCenterY, 160, ":"); + this.timeHourSeperator = this.makeTimerTextContent(this.timerCenterX - 190, this.timerCenterY + 45, 30, "시간"); this.timeMinuteText = this.makeTimerTextContent(this.timerCenterX, this.timerCenterY, 160, "00"); - this.timeMinuteSecondSeperator = this.makeTimerTextContent(this.timerCenterX + 40, this.timerCenterY + 20, 100, ":"); - this.timeSecondText = this.makeTimerTextContent(this.timerCenterX + 160, this.timerCenterY + 20, 100, "00"); + // this.timeMinuteSecondSeperator = this.makeTimerTextContent(this.timerCenterX + 40, this.timerCenterY + 20, 100, ":"); + this.timeMinuteSeperator = this.makeTimerTextContent(this.timerCenterX + 30, this.timerCenterY + 45, 30, "분"); + this.timeSecondText = this.makeTimerTextContent(this.timerCenterX + 160, this.timerCenterY + 24, 100, "00"); + this.timeSecondSeperator = this.makeTimerTextContent(this.timerCenterX + 180, this.timerCenterY + 50, 20, "초"); } Timer.prototype.makeTimerButtons = function() { @@ -136,14 +139,15 @@ Timer.prototype.makeResetButton = function() { "#333" ); - return new RoundRectButton( + var button = new RoundRectButton( setting, - null, "C", + null, "", (function() { this.resetTimer(); this.resetLeftTimeToServer(); }).bind(this) ); + button.setIcon(new SpriteIconTimer(50, 50, SpriteIconTimer.FRAME_RESET)); } Timer.prototype.makePlayButton = function() { @@ -176,11 +180,14 @@ Timer.prototype.makePlayButton = function() { "#333" ); - return new RoundRectButton( + var button = new RoundRectButton( setting, - null, "▶", + null, "", (function() { this.startTimer(); }).bind(this) ); + button.setIcon(new SpriteIconTimer(100, 100, SpriteIconTimer.FRAME_PLAY)); + + return button; } Timer.prototype.makePauseButton = function() { @@ -215,9 +222,9 @@ Timer.prototype.makePauseButton = function() { ); - return new RoundRectButton( + var button = new RoundRectButton( setting, - null, "∥", + new SpriteIconTimer(50, 50, SpriteIconTimer.FRAME_PAUSE), "", (function() { this.pauseTimer(); @@ -227,6 +234,9 @@ Timer.prototype.makePauseButton = function() { this.resetLeftTimeToServer(); }).bind(this) ); + button.setIcon(new SpriteIconTimer(100, 100, SpriteIconTimer.FRAME_PAUSE)); + + return button; } Timer.prototype.showButton = function(button, flag) { @@ -264,10 +274,11 @@ Timer.prototype.showTimerButtons = function() { Timer.prototype.setTimerTextColor = function(color) { this.timeHourText.tint = color; - this.timeHourMinuteSeperator.tint = color; + this.timeHourSeperator.tint = color; this.timeMinuteText.tint = color; - this.timeMinuteSecondSeperator.tint = color; + this.timeMinuteSeperator.tint = color; this.timeSecondText.tint = color; + this.timeSecondSeperator.tint = color; } Timer.prototype.startTimer = function() { @@ -607,7 +618,7 @@ Timer.prototype.updateLeftTimeToServer = function() { -Timer.Timer_CENTER_OFFSET_X = 125; +Timer.Timer_CENTER_OFFSET_X = 120; Timer.TIME_MILLISECONDS = 1000; diff --git a/src/web/client/license_timer.html b/src/web/client/license_timer.html index 718dd2f..6427f76 100644 --- a/src/web/client/license_timer.html +++ b/src/web/client/license_timer.html @@ -38,6 +38,7 @@ +