forked from gabboraron/JS13K2024_Witch-hunter
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathminihighligh.js
1 lines (1 loc) · 1.06 KB
/
minihighligh.js
1
AFRAME.registerComponent("highlight",{init:function(){var t=this.btnEls=this.el.querySelectorAll(".menu-button"),e=dq("#background");this.onClick=this.onClick.bind(this),this.onMouseEnter=this.onMouseEnter.bind(this),this.onMouseLeave=this.onMouseLeave.bind(this),this.reset=this.reset.bind(this),e.addEventListener("click",this.reset);for(var i=0;i<t.length;++i)t[i].addEventListener("mouseenter",this.onMouseEnter),t[i].addEventListener("mouseleave",this.onMouseLeave),t[i].addEventListener("click",this.onClick)},onClick:function(t){t.target.pause(),t.target.setAttribute("material","color","#046de7"),this.el.addState("clicked"),t.target.object3D.scale.set(1.2,1.2,1.2)},onMouseEnter:function(t){var e=this.btnEls;t.target.setAttribute("material","color","#046de7");for(var i=0;i<e.length;++i)t.target!==e[i]&&e[i].setAttribute("material","color","white")},onMouseLeave:function(t){this.el.is("clicked")||t.target.setAttribute("material","color","white")},reset:function(){for(var t=this.btnEls,e=0;e<t.length;++e)this.el.removeState("clicked"),t[e].play(),t[e].emit("mouseleave")}});