Skip to content

Commit 70037ef

Browse files
committed
start beatmap characteristics dropdown
1 parent f1f6b62 commit 70037ef

File tree

3 files changed

+52
-9
lines changed

3 files changed

+52
-9
lines changed

‎src/components/song-controls.js‎

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,11 @@ AFRAME.registerComponent('song-controls', {
6464
},
6565

6666
play: function () {
67-
this.controls = document.getElementById('controls');
67+
const controls = this.controls = document.getElementById('controls');
6868
this.difficulty = document.getElementById('controlsDifficulty');
6969
this.difficultyOptions = document.getElementById('controlsDifficultyOptions');
70+
this.modeDropdownEl = document.getElementById('controlsMode');
71+
this.modeOptionEls = document.getElementById('controlsModes');
7072
this.playhead = document.getElementById('playhead');
7173
const timeline = this.timeline = document.getElementById('timeline');
7274
const timelineHover = this.timelineHover = document.getElementById('timelineHover');
@@ -77,7 +79,7 @@ AFRAME.registerComponent('song-controls', {
7779
this.customDifficultyLabels = {};
7880

7981
// Show controls on load.
80-
this.controls.classList.add('challengeLoaded');
82+
controls.classList.add('challengeLoaded');
8183

8284
// Update difficulty list.
8385
for (let i = 0; i < this.difficultyOptions.children.length; i++) {
@@ -145,10 +147,10 @@ AFRAME.registerComponent('song-controls', {
145147

146148
// Difficulty dropdown.
147149
this.difficulty.addEventListener('click', () => {
148-
this.controls.classList.toggle('difficultyOptionsActive');
150+
controls.classList.toggle('difficultyOptionsActive');
149151
});
150152
this.el.sceneEl.addEventListener('click', evt => {
151-
this.controls.classList.remove('difficultyOptionsActive');
153+
controls.classList.remove('difficultyOptionsActive');
152154
});
153155

154156
// Difficulty select.
@@ -157,7 +159,24 @@ AFRAME.registerComponent('song-controls', {
157159
this.playhead.style.width = '0%';
158160
this.el.sceneEl.emit('difficultyselect', evt.target.dataset.difficulty, false);
159161
this.difficulty.innerHTML = evt.target.innerHTML;
160-
this.controls.classList.remove('difficultyOptionsActive');
162+
controls.classList.remove('difficultyOptionsActive');
163+
});
164+
165+
// Mode dropdown.
166+
this.modeDropdownEl.addEventListener('click', () => {
167+
controls.classList.toggle('modeOptionsActive');
168+
});
169+
this.el.sceneEl.addEventListener('click', evt => {
170+
controls.classList.remove('modeOptionsActive');
171+
});
172+
173+
// Mode select.
174+
this.modeOptionEls.addEventListener('click', evt => {
175+
this.songProgress.innerHTML = formatSeconds(0);
176+
this.playhead.style.width = '0%';
177+
this.el.sceneEl.emit('modeselect', evt.target.dataset.mode, false);
178+
this.modeDropdownEl.innerHTML = evt.target.innerHTML;
179+
controls.classList.remove('modeOptionsActive');
161180
});
162181

163182
// Hide volume if click anywhere.

‎src/index.styl‎

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ html
2020
padding 10px
2121
position fixed
2222
right 0
23-
width 675px
23+
width 710px
2424
z-index 99999999
2525

2626
&.challengeLoaded
@@ -94,7 +94,7 @@ html
9494
color $gray
9595
font-size 11px
9696
margin-left 15px
97-
margin-right 5px
97+
margin-right 0
9898
width 70px
9999

100100
#songInfoContainer
@@ -124,13 +124,15 @@ html
124124
align-items center
125125
display flex
126126
position absolute
127-
right 0
127+
right 5px
128128

129-
#controlsDifficulty
129+
#controlsDifficulty,
130+
#controlsMode
130131
border 1px solid $gray
131132
border-radius 5px
132133
color $gray
133134
cursor pointer
135+
font-size 11px
134136
padding 5px 10px
135137
text-align center
136138
transition all .1s
@@ -145,6 +147,10 @@ html
145147
border-color $white
146148
color $white
147149

150+
#controlsMode
151+
margin-right 5px
152+
153+
#controlsModes,
148154
#controlsDifficultyOptions
149155
background #020202
150156
border 1px solid $gray
@@ -170,6 +176,14 @@ html
170176
&:hover
171177
color $red
172178

179+
#controlsModes
180+
right 120px
181+
182+
.modeOptionsActive
183+
#controlsModes
184+
display flex
185+
opacity 1
186+
173187
.difficultyOptionsActive
174188
#controlsDifficultyOptions
175189
display flex

‎src/templates/controls.html‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,17 @@
2929
<p id="songName"></p>
3030
</div>
3131
<div id="songInfoSelect">
32+
<p id="controlsMode">Standard</p>
3233
<p id="controlsDifficulty"></p>
34+
<ul id="controlsModes">
35+
<li data-mode="Standard">Standard</li>
36+
<!--
37+
<li data-mode="NoArrows">NoArrows</li>
38+
<li data-mode="OneSaber">OneSaber</li>
39+
<li data-mode="Lawless">Lawless</li>
40+
<li data-mode="Lightshow">Lightshow</li>
41+
-->
42+
</ul>
3343
<ul id="controlsDifficultyOptions">
3444
<li data-difficulty="Easy">Easy</li>
3545
<li data-difficulty="Normal">Normal</li>

0 commit comments

Comments
 (0)