if (!this.entityLoaded) { return; } if (!this.initialized) { this.camera = this.entityLoaded.camera; this.buttons = this.entityLoaded.buttons; this.raycaster = this.entityLoaded.raycaster; this.canvasHUD = this.entityLoaded.canvasHUD; this.state = this.entityLoaded.state; this.initialized = true; } var mouse = { x : (data.event.offsetX / data.event.target.clientWidth ) * 2 - 1, y : -(data.event.offsetY / data.event.target.clientHeight) * 2 + 1 } //console.log('mouse ' + mouse.x + ', ' + mouse.y); this.raycaster.setFromCamera( mouse, this.camera ); var intersects = this.raycaster.getIntersectedObjects(this.buttons); if (intersects.length === 0) { //console.log('nothing'); } intersects.map( function(intersect) { var x = Math.round(intersect.uv.x * 256); var y = Math.round((1 - intersect.uv.y) * 256); var pixel = intersect.mesh.materials[0].diffuseMap.image.alphas[(256 * y) + x]; if (pixel > 0) { if (intersect.mesh.id === 'e69gb1028e') { intersect.mesh.materials[0].visible = true; intersect.mesh.materials[0].updateInstance('visible'); R3.Event.Emit( R3.Event.KEY_DOWN, { keyCode : R3.System.Input.KEY_LEFT } ); } if (intersect.mesh.id === 'z0gwmplslj') { intersect.mesh.materials[0].visible = true; intersect.mesh.materials[0].updateInstance('visible'); R3.Event.Emit( R3.Event.KEY_DOWN, { keyCode : R3.System.Input.KEY_RIGHT } ); } if (intersect.mesh.id === 'q3ra6x84d8') { intersect.mesh.materials[0].visible = true; intersect.mesh.materials[0].updateInstance('visible'); R3.Event.Emit( R3.Event.KEY_DOWN, { keyCode : R3.System.Input.KEY_UP } ); } if (intersect.mesh.id === '2eva6brga6') { intersect.mesh.materials[0].visible = true; intersect.mesh.materials[0].updateInstance('visible'); R3.Event.Emit( R3.Event.KEY_DOWN, { keyCode : R3.System.Input.KEY_DOWN } ); } if (intersect.mesh.id === 'f5xmype7dq') { this.state.paused = !this.state.paused; if (this.state.paused) { intersect.mesh.materials[0].visible = true; intersect.mesh.materials[0].updateInstance('visible'); R3.Event.Emit(R3.Event.PAUSE_ALL_AUDIO); } else { intersect.mesh.materials[0].visible = false; intersect.mesh.materials[0].updateInstance('visible'); R3.Event.Emit(R3.Event.CONTINUE_ALL_AUDIO); } } if (intersect.mesh.id === '0eo0kat3fb') { this.state.muted = !this.state.muted; R3.Event.Emit(R3.Event.MUTE_AUDIO); if (this.state.muted) { intersect.mesh.materials[0].visible = true; intersect.mesh.materials[0].updateInstance('visible'); } else { intersect.mesh.materials[0].visible = false; intersect.mesh.materials[0].updateInstance('visible'); } } } }.bind(this) ); //@ sourceURL=mouseDown.js