Files
junisaber/src/components/score-texts.js
2018-10-15 18:06:51 -07:00

41 lines
1.0 KiB
JavaScript

/**
* Score text fade in animation.
*/
AFRAME.registerComponent('score-texts', {
schema: {
isSongLoading: {default: false}
},
init: function () {
this.textEls = this.el.querySelectorAll('[text]');
for (let i = 0; i < this.textEls.length; i++) {
this.textEls[i].setAttribute('animation__fadein', {
autoplay: false,
property:'components.text.material.uniforms.opacity.value',
delay: 250,
dur: 750,
easing: 'easeInOutCubic',
from: 0,
to: 1
});
}
},
update: function (oldData) {
// Finished loading.
if (oldData.isSongLoading && !this.data.isSongLoading) {
for (let i = 0; i < this.textEls.length; i++) {
this.textEls[i].components['animation__fadein'].beginAnimation();
}
}
// Started loading.
if (!oldData.isSongLoading && this.data.isSongLoading) {
for (let i = 0; i < this.textEls.length; i++) {
this.textEls[i].components.text.material.uniforms.opacity.value = 0;
}
}
}
});