r3-custom-code/gzewp2awcf.js

134 lines
2.9 KiB
JavaScript

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