From 8bcd5358a99d851f726a8c48e21102c700199c43 Mon Sep 17 00:00:00 2001 From: Kevin Ngo Date: Wed, 17 Oct 2018 02:55:18 -0700 Subject: [PATCH] work on victory screen. debugstate component (?debugstate=victory, ?debugstate=gameover, ?debugstate=loading) --- assets/img/molerat.jpg | Bin 0 -> 23646 bytes src/components/debug-state.js | 12 +++++++++ src/index.html | 2 ++ src/state/index.js | 47 ++++++++++++++++++++++++++++++++-- src/templates/gameMenu.html | 24 ++++++++++++----- src/templates/loading.html | 36 ++++++++++++++++++++++++++ src/templates/stage.html | 40 ----------------------------- 7 files changed, 112 insertions(+), 49 deletions(-) create mode 100644 assets/img/molerat.jpg create mode 100644 src/components/debug-state.js create mode 100644 src/templates/loading.html diff --git a/assets/img/molerat.jpg b/assets/img/molerat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a70dcfc14aac4db5a97e86bbcdeec5caaec7975e GIT binary patch literal 23646 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 QK>q-u6xZ}cf9Q|@*+28?M*si- literal 0 HcmV?d00001 diff --git a/src/components/debug-state.js b/src/components/debug-state.js new file mode 100644 index 0000000..02651be --- /dev/null +++ b/src/components/debug-state.js @@ -0,0 +1,12 @@ +/** + * Emit events from query parameter to state to automatically set up state. + */ +AFRAME.registerComponent('debug-state', { + play: function () { + const flags = AFRAME.utils.getUrlParameter('debugstate').trim(); + if (!flags) { return; } + flags.split(',').forEach(flag => { + this.el.sceneEl.emit(`debug${flag.trim()}`, null, false); + }); + } +}); diff --git a/src/index.html b/src/index.html index b2f8129..a98e040 100644 --- a/src/index.html +++ b/src/index.html @@ -25,6 +25,7 @@ animation__gameoverfog="property: components.fog.el.object3D.fog.color; type: color; to: #330000; startEvents: gameover; dur: 500; easing: easeInQuad" console-shortcuts debug-controller + debug-state effect-bloom="strength: 1" gpu-preloader loading-screen="backgroundColor: #000;" @@ -122,6 +123,7 @@ bind__pause="isPaused: !isPlaying" sound__beathit="poolSize: 12; src: assets/sounds/beatHit.ogg"> {% include './templates/stage.html' %} + {% include './templates/loading.html' %} {% include './templates/score.html' %} {% include './templates/menu.html' %} {% include './templates/gameMenu.html' %} diff --git a/src/state/index.js b/src/state/index.js index ff6d5db..71b8fa9 100644 --- a/src/state/index.js +++ b/src/state/index.js @@ -65,9 +65,11 @@ AFRAME.registerState({ beatsMissed: 0, combo: 0, maxCombo: 0, + maxComboText: 0, multiplier: 1, rank: '', - score: 0 + score: 0, + scoreText: 0 }, search: { active: true, @@ -95,7 +97,7 @@ AFRAME.registerState({ state.damage -= DAMAGE_DECAY; } state.score.beatsHit++; - state.score.score++; + state.score.score += 1000; state.score.combo++; if (state.score.combo > state.score.maxCombo) { state.score.maxCombo = state.score.combo; @@ -133,6 +135,47 @@ AFRAME.registerState({ state.menuSelectedChallenge.songLength = undefined; }, + /** + * To work on game over page. + * + * ?debugstate=gameover + */ + debuggameover: state => { + state.isGameOver = true; + state.menuActive = false; + }, + + /** + * To work on victory page. + * + * ?debugstate=loading + */ + debugloading: state => { + state.menuActive = false; + state.isSongFetching = true; + state.isSongLoading = true; + state.menuSelectedChallenge.songName = 'Friday'; + state.menuSelectedChallenge.songSubName = 'Rebecca Black'; + $('#loadingSongImage').setAttribute('material', 'src', 'assets/img/molerat.jpg'); + }, + + /** + * To work on victory page. + * + * ?debugstate=victory + */ + debugvictory: state => { + state.isVictory = true; + state.menuActive = false; + state.score.accuracy = 'Accuracy: 99.99%'; + state.score.maxComboText = 'Max Combo: 123'; + state.score.rank = 'S'; + state.score.scoreText = 'Score: 9001'; + state.menuSelectedChallenge.songName = 'Friday'; + state.menuSelectedChallenge.songSubName = 'Rebecca Black'; + $('#gameMenuSongImage').setAttribute('material', 'src', 'assets/img/molerat.jpg'); + }, + gamemenuresume: (state) => { state.isPaused = false; }, diff --git a/src/templates/gameMenu.html b/src/templates/gameMenu.html index 86078a9..9a217c1 100644 --- a/src/templates/gameMenu.html +++ b/src/templates/gameMenu.html @@ -11,6 +11,7 @@ position="0 -0.07 0.01" text="align: center; wrapCount: 17; color: #F0F0F0"> + @@ -22,6 +23,8 @@ bind__visible="isGameOver || isPaused || isVictory" position="0 1.1 -2" play-sound="event: mouseenter; sound: #hoverSound; volume: 0.03"> + + - - + @@ -67,27 +69,35 @@ + - + + + text="align: center; color: #FAFAFA; wrapCount: 22; baseline: top; lineHeight: 36; width: 0.81" + bind__text="value: score.scoreText"> + + diff --git a/src/templates/loading.html b/src/templates/loading.html new file mode 100644 index 0000000..71ca52e --- /dev/null +++ b/src/templates/loading.html @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + diff --git a/src/templates/stage.html b/src/templates/stage.html index 642e821..365fbf5 100644 --- a/src/templates/stage.html +++ b/src/templates/stage.html @@ -113,46 +113,6 @@ - - - - - - - - - - - - - - - - - -