From 8ff4eb0a965208da7d3727770d6d49dc6f1f0c3a Mon Sep 17 00:00:00 2001 From: Patterntrick Date: Tue, 28 Mar 2017 18:22:22 -0700 Subject: [PATCH] Added copyright header, expanded tabs to spaces --- .../marketplace/xylophone/xylophoneRezzer.js | 133 ++++++++++-------- 1 file changed, 71 insertions(+), 62 deletions(-) diff --git a/unpublishedScripts/marketplace/xylophone/xylophoneRezzer.js b/unpublishedScripts/marketplace/xylophone/xylophoneRezzer.js index 427d918f21..be237da0cd 100644 --- a/unpublishedScripts/marketplace/xylophone/xylophoneRezzer.js +++ b/unpublishedScripts/marketplace/xylophone/xylophoneRezzer.js @@ -1,3 +1,13 @@ +// +// xylophoneRezzer.js +// +// Created by Patrick Gosch on 03/28/2017 +// Copyright 2017 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + var soundFiles = ["C2.wav", "D2.wav", "E2.wav", "F2.wav", "G2.wav", "A2.wav", "B2.wav", "C3.wav"]; var keyModelURL = Script.resolvePath("xyloKey_2_a_e.fbx"); var keyScriptURL = Script.resolvePath("xylophoneKey.js"); @@ -8,83 +18,82 @@ var fwd = {x:0, y:0, z:-1}; var xyloFramePos = Vec3.sum(center, Vec3.multiply(fwd, 0.8)); var xyloFrameID = Entities.addEntity( { - name: "Xylophone", - type: "Model", - modelURL: Script.resolvePath("xylophoneFrameWithWave.fbx"), - position: xyloFramePos, - rotation: Quat.fromVec3Radians({x:0, y:Math.PI, z:0}), - shapeType: "static-mesh", + name: "Xylophone", + type: "Model", + modelURL: Script.resolvePath("xylophoneFrameWithWave.fbx"), + position: xyloFramePos, + rotation: Quat.fromVec3Radians({x:0, y:Math.PI, z:0}), + shapeType: "static-mesh" }); center.y += (0.45); //key Y offset from frame -var keyPos; -var keyRot; -for (i=1, len=soundFiles.length; i<=len; i++) { +var keyPos, keyRot, ud, td, keyID; +for (var i = 1; i <= soundFiles.length; i++) { - keyRot = Quat.fromVec3Radians({x:0, y:(0.9 - (i*0.2)), z:0}); - keyPos = Vec3.sum(center, Vec3.multiplyQbyV(keyRot, fwd)); + keyRot = Quat.fromVec3Radians({x:0, y:(0.9 - (i*0.2)), z:0}); + keyPos = Vec3.sum(center, Vec3.multiplyQbyV(keyRot, fwd)); - var ud = { - soundFile: soundFiles[i-1] - }; + ud = { + soundFile: soundFiles[i-1] + }; - var td = { - "file4": Script.resolvePath("xylotex_bar" + i + ".png"), - "file5": TEXBLACK - }; + td = { + "file4": Script.resolvePath("xylotex_bar" + i + ".png"), + "file5": TEXBLACK + }; - var keyID = Entities.addEntity( { - name: ("XyloKey" + i), - type: "Model", - modelURL: keyModelURL, - position: keyPos, - rotation: keyRot, - shapeType: "static-mesh", - script: keyScriptURL, - textures: JSON.stringify(td), - userData: JSON.stringify(ud), - parentID: xyloFrameID, - } ); -}; + keyID = Entities.addEntity( { + name: ("XyloKey" + i), + type: "Model", + modelURL: keyModelURL, + position: keyPos, + rotation: keyRot, + shapeType: "static-mesh", + script: keyScriptURL, + textures: JSON.stringify(td), + userData: JSON.stringify(ud), + parentID: xyloFrameID, + } ); +} //if rezzed on/above something, wait until after model has loaded so you can read its dimensions then move object on to that surface. var pickRay = {origin: center, direction: {x:0, y:-1, z:0}}; var intersection = Entities.findRayIntersection(pickRay, true); if (intersection.intersects && (intersection.distance < 10)) { - var surfaceY = intersection.intersection.y; - Script.setTimeout( function() { - //should add loop to check for fbx loaded instead of delay - var xyloDimensions = Entities.getEntityProperties(xyloFrameID, ["dimensions"]).dimensions; - xyloFramePos.y = surfaceY + (xyloDimensions.y/2); - Entities.editEntity(xyloFrameID, {position: xyloFramePos}); - rezMallets(); - }, 2000); //timeout (ms) + var surfaceY = intersection.intersection.y; + Script.setTimeout( function() { + //should add loop to check for fbx loaded instead of delay + var xyloDimensions = Entities.getEntityProperties(xyloFrameID, ["dimensions"]).dimensions; + xyloFramePos.y = surfaceY + (xyloDimensions.y/2); + Entities.editEntity(xyloFrameID, {position: xyloFramePos}); + rezMallets(); + }, 2000); //timeout (ms) } else { - print("No surface detected."); - rezMallets(); + print("No surface detected."); + rezMallets(); } function rezMallets() { - var malletProps = { - name: "Xylophone Mallet", - type: "Model", - modelURL: malletModelURL, - collidesWith: "static,dynamic,kinematic,", - collisionMask: 7, - collisionsWillMove: 1, - dynamic: 1, - damping: 1, - angularDamping: 1, - shapeType: "simple-compound", - userData: "{\"grabbableKey\":{\"grabbable\":true}}" - }; + var malletProps = { + name: "Xylophone Mallet", + type: "Model", + modelURL: malletModelURL, + collidesWith: "static,dynamic,kinematic,", + collisionMask: 7, + collisionsWillMove: 1, + dynamic: 1, + damping: 1, + angularDamping: 1, + shapeType: "simple-compound", + userData: "{\"grabbableKey\":{\"grabbable\":true}}" + }; - malletProps.position = Vec3.sum(xyloFramePos, {x: 0.1, y: 0.55, z: 0}); - malletProps.rotation = Quat.fromVec3Radians({x:0, y:Math.PI - 0.1, z:0}), - Entities.addEntity(malletProps); + malletProps.position = Vec3.sum(xyloFramePos, {x: 0.1, y: 0.55, z: 0}); + malletProps.rotation = Quat.fromVec3Radians({x:0, y:Math.PI - 0.1, z:0}); + Entities.addEntity(malletProps); - malletProps.position = Vec3.sum(xyloFramePos, {x: -0.1, y: 0.55, z: 0}); - malletProps.rotation = Quat.fromVec3Radians({x:0, y:Math.PI + 0.1, z:0}), - Entities.addEntity(malletProps); - Script.stop(); -}; + malletProps.position = Vec3.sum(xyloFramePos, {x: -0.1, y: 0.55, z: 0}); + malletProps.rotation = Quat.fromVec3Radians({x:0, y:Math.PI + 0.1, z:0}); + Entities.addEntity(malletProps); + Script.stop(); +}