From 610ee2bc2af19000ecf728c169c23a1dd7de5a8b Mon Sep 17 00:00:00 2001 From: Kevin Ngo Date: Thu, 25 Oct 2018 06:06:09 -0700 Subject: [PATCH] victory accuracy ring --- src/components/victory-accuracy-ring.js | 16 ++++++++++++++++ src/state/index.js | 9 ++++++--- src/templates/gameMenu.html | 10 +++++++++- 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 src/components/victory-accuracy-ring.js diff --git a/src/components/victory-accuracy-ring.js b/src/components/victory-accuracy-ring.js new file mode 100644 index 0000000..fdf9a91 --- /dev/null +++ b/src/components/victory-accuracy-ring.js @@ -0,0 +1,16 @@ +/** + * Trigger accuracy ring animation on victory screen. + */ +AFRAME.registerComponent('victory-accuracy-ring', { + dependencies: ['geometry', 'material'], + + schema: { + accuracy: {default: 0} + }, + + update: function () { + this.el.getObject3D('mesh').material.uniforms.progress.value = 0; + this.el.setAttribute('animation', 'to', this.data.accuracy); + this.el.components['animation'].beginAnimation(); + } +}); diff --git a/src/state/index.js b/src/state/index.js index f64662b..466907d 100644 --- a/src/state/index.js +++ b/src/state/index.js @@ -69,7 +69,8 @@ AFRAME.registerState({ songSubName: '' }, score: { - accuracy: '', + accuracy: 0, + accuracyText: '', beatsHit: 0, beatsMissed: 0, combo: 0, @@ -183,7 +184,8 @@ AFRAME.registerState({ Object.assign(state.challenge, DEBUG_CHALLENGE); state.isVictory = true; state.menuActive = false; - state.score.accuracy = 'Accuracy: 99.99%'; + state.score.accuracy = .88; + state.score.accuracyText = 'Accuracy: 99.99%'; state.score.maxComboText = 'Max Combo: 123'; state.score.rank = 'S'; state.score.scoreText = 'Score: 9001'; @@ -344,7 +346,8 @@ AFRAME.registerState({ state.isVictory = true; const accuracy = state.beatsHit / (state.beatsMissed + state.beatsHit); - state.score.accuracy = `${(accuracy * 100).toFixed()}%`; + state.score.accuracy = accuracy; + state.score.accuracyText = `${(accuracy * 100).toFixed()}%`; if (accuracy === 1) { state.rank = 'S'; diff --git a/src/templates/gameMenu.html b/src/templates/gameMenu.html index d93caaa..c494121 100644 --- a/src/templates/gameMenu.html +++ b/src/templates/gameMenu.html @@ -75,6 +75,14 @@ + + + bind__text="value: score.accuracyText">