From 9e01cbb4ef8d40738947c036cc1946c16ebdf20a Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 13:44:40 -0700 Subject: [PATCH 01/16] inner tank for ze fishes --- .../DomainContent/Home/fishTank/wrapper.js | 39 +++++++++++++++---- .../DomainContent/Home/reset.js | 1 - 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js b/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js index 4eb227e12f..abbd07c707 100644 --- a/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js +++ b/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js @@ -13,7 +13,7 @@ var TANK_SCRIPT = Script.resolvePath('entityLocalFish.js'); FishTank = function(spawnPosition, spawnRotation) { - var fishTank, tankBase, bubbleSystem, secondBubbleSystem, thirdBubbleSystem, anemone, treasure, rocks; + var fishTank, innerTank, tankBase, bubbleSystem, secondBubbleSystem, thirdBubbleSystem, anemone, treasure, rocks; var CLEANUP = true; var TANK_DIMENSIONS = { @@ -22,11 +22,11 @@ FishTank = function(spawnPosition, spawnRotation) { z: 2.1404 }; - // var INNER_TANK_SCALE = 0.7; - // var INNER_TANK_DIMENSIONS = Vec3.multiply(INNER_TANK_SCALE, TANK_DIMENSIONS); - // INNER_TANK_DIMENSIONS.y = INNER_TANK_DIMENSIONS.y - 0.4; - // var TANK_WIDTH = TANK_DIMENSIONS.z; - // var TANK_HEIGHT = TANK_DIMENSIONS.y; + var INNER_TANK_SCALE = 0.7; + var INNER_TANK_DIMENSIONS = Vec3.multiply(INNER_TANK_SCALE, TANK_DIMENSIONS); + INNER_TANK_DIMENSIONS.y = INNER_TANK_DIMENSIONS.y - 0.4; + var TANK_WIDTH = TANK_DIMENSIONS.z; + var TANK_HEIGHT = TANK_DIMENSIONS.y; var DEBUG_COLOR = { red: 255, @@ -111,7 +111,6 @@ FishTank = function(spawnPosition, spawnRotation) { rotation: Quat.fromPitchYawRollDegrees(spawnRotation.x, spawnRotation.y, spawnRotation.z), color: DEBUG_COLOR, collisionless: true, - script: TANK_SCRIPT, visible: true, userData: JSON.stringify({ 'hifiHomeKey': { @@ -310,6 +309,32 @@ FishTank = function(spawnPosition, spawnRotation) { tankBase = Entities.addEntity(properties); } + function createInnerTank() { + var properties = { + dimensions: INNER_TANK_DIMENSIONS, + name: 'hifi-home-fishtank-inner-tank', + type: 'Box', + visible: true, + color: { + red: 255, + green: 0, + blue: 255 + }, + position: TANK_POSITION, + rotation: Quat.fromPitchYawRollDegrees(spawnRotation.x, spawnRotation.y, spawnRotation.z), + color: DEBUG_COLOR, + collisionless: true, + script: TANK_SCRIPT, + visible: true, + userData: JSON.stringify({ + 'hifiHomeKey': { + 'reset': true + } + }), + } + innerTank = Entities.addEntity(innerTank); + } + createFishTank(); createBubbleSystems(); diff --git a/unpublishedScripts/DomainContent/Home/reset.js b/unpublishedScripts/DomainContent/Home/reset.js index c1cc8cc12a..640c65e872 100644 --- a/unpublishedScripts/DomainContent/Home/reset.js +++ b/unpublishedScripts/DomainContent/Home/reset.js @@ -66,7 +66,6 @@ showTidyingButton: function() { - Entities.editEntity(_this.entityID, { textures: { "Texture.001": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Head-Housing-Texture.png", From cefe672a93097b8197d4cf6ee1d7dda2bc90060d Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 14:01:46 -0700 Subject: [PATCH 02/16] updatez --- .../Home/dressingRoom/transformer.js | 6 +-- .../DomainContent/Home/reset.js | 40 +++++++++---------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js b/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js index 05e2978a3c..f7ea0a2ad2 100644 --- a/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js +++ b/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js @@ -83,12 +83,12 @@ } }); - _this.createBigVersion(myProps); + _this.createBigVersion(); }, - createBigVersion: function(smallProps) { - + createBigVersion: function() { + var smallProps = Entities.getEntityProperties(_this.entityID); print('transformer should create big version!!') print('transformer has rotatorBlock??' + _this.rotatorBlock); var rotatorProps = Entities.getEntityProperties(_this.rotatorBlock); diff --git a/unpublishedScripts/DomainContent/Home/reset.js b/unpublishedScripts/DomainContent/Home/reset.js index 640c65e872..41e5c6cb05 100644 --- a/unpublishedScripts/DomainContent/Home/reset.js +++ b/unpublishedScripts/DomainContent/Home/reset.js @@ -65,33 +65,33 @@ }, showTidyingButton: function() { - + var data = { + "Texture.001": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Head-Housing-Texture.png", + "button.tidy": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Orange.png", + "button.tidy.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Orange-Emit.png", + "tex.button.blanks": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks.png", + "tex.button.blanks.normal": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks-Normal.png", + "tex.face.sceen": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face.png", + "tex.face.screen.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face-Emit.png" + } Entities.editEntity(_this.entityID, { - textures: { - "Texture.001": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Head-Housing-Texture.png", - "button.tidy": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Orange.png", - "button.tidy.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Orange-Emit.png", - "tex.button.blanks": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks.png", - "tex.button.blanks.normal": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks-Normal.png", - "tex.face.sceen": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face.png", - "tex.face.screen.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face-Emit.png" - } + textures: JSON.stringify(data) }); }, showTidyButton: function() { - + var data = { + "Texture.001": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Head-Housing-Texture.png", + "button.tidy": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Green.png", + "button.tidy.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Green-Emit.png", + "tex.button.blanks": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks.png", + "tex.button.blanks.normal": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks-Normal.png", + "tex.face.sceen": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face.png", + "tex.face.screen.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face-Emit.png" + } Entities.editEntity(_this.entityID, { - textures: { - "Texture.001": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Head-Housing-Texture.png", - "button.tidy": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Green.png", - "button.tidy.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Green-Emit.png", - "tex.button.blanks": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks.png", - "tex.button.blanks.normal": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks-Normal.png", - "tex.face.sceen": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face.png", - "tex.face.screen.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face-Emit.png" - } + textures: JSON.stringify(data); }); }, From cad8d1ff1772a755b3fd8106e9756c4f00a8a318 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 14:05:22 -0700 Subject: [PATCH 03/16] reset block --- .../DomainContent/Home/reset.js | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/reset.js b/unpublishedScripts/DomainContent/Home/reset.js index 41e5c6cb05..16dfbdd383 100644 --- a/unpublishedScripts/DomainContent/Home/reset.js +++ b/unpublishedScripts/DomainContent/Home/reset.js @@ -299,13 +299,17 @@ blue: 0 }, dimensions: { - x: 0.5, - y: 0.5, - z: 0.5 + x: 1.0000, + y: 0.0367, + z: 1.0000 }, collisionless: true, angularDamping: 0, - angularVelocity: Quat.fromPitchYawRollDegrees(0, 6, 0), + angularVelocity: { + x: 0, + y: 6, + z: 0 + }, dynamic: false, userData: JSON.stringify({ 'hifiHomeKey': { @@ -313,10 +317,15 @@ } }), position: { - x: 1107.0330, - y: 460.4326, - z: -74.5704 - } + x: 1106.9778, + y: 460.6075, + z: -74.5842 + }, + userData: JSON.stringify({ + 'hifiHomeKey': { + 'reset': true + } + }) } var rotatorBlock = Entities.addEntity(rotatorBlockProps); From 6bd00f3203296f3f1fa4c6e7a2298cfd3452292f Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 14:16:10 -0700 Subject: [PATCH 04/16] fix da typo --- unpublishedScripts/DomainContent/Home/reset.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/reset.js b/unpublishedScripts/DomainContent/Home/reset.js index 16dfbdd383..e09a8b622b 100644 --- a/unpublishedScripts/DomainContent/Home/reset.js +++ b/unpublishedScripts/DomainContent/Home/reset.js @@ -91,8 +91,7 @@ } Entities.editEntity(_this.entityID, { - textures: JSON.stringify(data); - + textures: JSON.stringify(data) }); }, From 5ea5336ba5a78468ec22326344da1d1453c14bc8 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 14:56:35 -0700 Subject: [PATCH 05/16] tidy button --- .../DomainContent/Home/reset.js | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/reset.js b/unpublishedScripts/DomainContent/Home/reset.js index e09a8b622b..eef038cb7b 100644 --- a/unpublishedScripts/DomainContent/Home/reset.js +++ b/unpublishedScripts/DomainContent/Home/reset.js @@ -66,14 +66,17 @@ showTidyingButton: function() { var data = { - "Texture.001": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Head-Housing-Texture.png", - "button.tidy": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Orange.png", - "button.tidy.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Orange-Emit.png", - "tex.button.blanks": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks.png", - "tex.button.blanks.normal": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks-Normal.png", - "tex.face.sceen": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face.png", - "tex.face.screen.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face-Emit.png" + "Texture.001": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Head-Housing-Texture.png", + "button.tidy": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange.png", + "button.tidy-active": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange.png", + "button.tidy-active.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange-Emit.png", + "button.tidy.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange-Emit.png", + "tex.button.blanks": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Button-Blanks.png", + "tex.button.blanks.normal": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Button-Blanks-Normal.png", + "tex.face.sceen": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/tidy-guy-face.png", + "tex.face.screen.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/tidy-guy-face-Emit.png" } + Entities.editEntity(_this.entityID, { textures: JSON.stringify(data) }); @@ -81,15 +84,18 @@ showTidyButton: function() { var data = { - "Texture.001": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Head-Housing-Texture.png", - "button.tidy": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Green.png", - "button.tidy.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Tidy-Up-Button-Green-Emit.png", - "tex.button.blanks": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks.png", - "tex.button.blanks.normal": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/Button-Blanks-Normal.png", - "tex.face.sceen": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face.png", - "tex.face.screen.emit": "atp:/Tidyguy-6.fbx/Tidyguy-6.fbm/tidy-guy-face-Emit.png" + "Texture.001": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Head-Housing-Texture.png", + "button.tidy": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Green.png", + "button.tidy-active": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange.png", + "button.tidy-active.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange-Emit.png", + "button.tidy.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Green-Emit.png", + "tex.button.blanks": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Button-Blanks.png", + "tex.button.blanks.normal": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Button-Blanks-Normal.png", + "tex.face.sceen": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/tidy-guy-face.png", + "tex.face.screen.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/tidy-guy-face-Emit.png" } + Entities.editEntity(_this.entityID, { textures: JSON.stringify(data) }); From 59a0e95e5f725ddb9c6daad963a0d02c4ae786a2 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 15:03:20 -0700 Subject: [PATCH 06/16] maze update --- unpublishedScripts/DomainContent/Home/tiltMaze/maze.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/tiltMaze/maze.js b/unpublishedScripts/DomainContent/Home/tiltMaze/maze.js index b48e5fd86d..23953421d5 100644 --- a/unpublishedScripts/DomainContent/Home/tiltMaze/maze.js +++ b/unpublishedScripts/DomainContent/Home/tiltMaze/maze.js @@ -234,11 +234,8 @@ }; Audio.playSound(VICTORY_SOUND, audioProperties); - }, - - unload: function() { - Script.update.disconnect(_this.update); } + }; return new Maze(); From 0d1e7a478a07177c6dbf0c59fef7762ba218320a Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 15:36:21 -0700 Subject: [PATCH 07/16] fishie fish fish --- .../Home/fishTank/singleSpawner.js | 3 ++- .../DomainContent/Home/fishTank/wrapper.js | 26 ++++++++++--------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/fishTank/singleSpawner.js b/unpublishedScripts/DomainContent/Home/fishTank/singleSpawner.js index 107665b258..f81c5311d6 100644 --- a/unpublishedScripts/DomainContent/Home/fishTank/singleSpawner.js +++ b/unpublishedScripts/DomainContent/Home/fishTank/singleSpawner.js @@ -1,4 +1,5 @@ - var fishTankPath = Script.resolvePath('wrapper.js'); + var fishTankPath = Script.resolvePath('atp:/fishTank/wrapper.js'); + var fishTankPath = Script.resolvePath('wrapper.js'); Script.include(fishTankPath); var center = Vec3.sum(Vec3.sum(MyAvatar.position, { x: 0, diff --git a/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js b/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js index abbd07c707..28062eecea 100644 --- a/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js +++ b/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js @@ -22,9 +22,9 @@ FishTank = function(spawnPosition, spawnRotation) { z: 2.1404 }; - var INNER_TANK_SCALE = 0.7; + var INNER_TANK_SCALE = 0.85; var INNER_TANK_DIMENSIONS = Vec3.multiply(INNER_TANK_SCALE, TANK_DIMENSIONS); - INNER_TANK_DIMENSIONS.y = INNER_TANK_DIMENSIONS.y - 0.4; + INNER_TANK_DIMENSIONS.y = INNER_TANK_DIMENSIONS.y - 0.2; var TANK_WIDTH = TANK_DIMENSIONS.z; var TANK_HEIGHT = TANK_DIMENSIONS.y; @@ -64,11 +64,10 @@ FishTank = function(spawnPosition, spawnRotation) { var bubbleSound = SoundCache.getSound(BUBBLE_SOUND_URL); - var ANEMONE_FORWARD_OFFSET = TANK_DIMENSIONS.x - 0.35; - var ANEMONE_LATERAL_OFFSET = -0.05; + var ANEMONE_FORWARD_OFFSET = -TANK_DIMENSIONS.x+0.1; + var ANEMONE_LATERAL_OFFSET = 0.2; var ANEMONE_VERTICAL_OFFSET = -0.12; - var ANEMONE_MODEL_URL = 'atp:/fishTank/anemone.fbx'; var ANEMONE_ANIMATION_URL = 'atp:/fishTank/anemone.fbx'; var ANEMONE_DIMENSIONS = { @@ -89,9 +88,9 @@ FishTank = function(spawnPosition, spawnRotation) { z: 1.64 } - var TREASURE_FORWARD_OFFSET = -TANK_DIMENSIONS.x; - var TREASURE_LATERAL_OFFSET = -0.15; - var TREASURE_VERTICAL_OFFSET = -0.23; + var TREASURE_FORWARD_OFFSET = TANK_DIMENSIONS.x - 0.075; + var TREASURE_LATERAL_OFFSET = 0.15; + var TREASURE_VERTICAL_OFFSET = -0.26; var TREASURE_MODEL_URL = 'atp:/fishTank/Treasure-Chest2-SM.fbx'; @@ -273,7 +272,7 @@ FishTank = function(spawnPosition, spawnRotation) { modelURL: TREASURE_MODEL_URL, position: finalPosition, dimensions: TREASURE_DIMENSIONS, - rotation: Quat.fromPitchYawRollDegrees(10, 135, 10), + rotation: Quat.fromPitchYawRollDegrees(10, 35, 10), userData: JSON.stringify({ 'hifiHomeKey': { 'reset': true @@ -322,23 +321,25 @@ FishTank = function(spawnPosition, spawnRotation) { }, position: TANK_POSITION, rotation: Quat.fromPitchYawRollDegrees(spawnRotation.x, spawnRotation.y, spawnRotation.z), - color: DEBUG_COLOR, collisionless: true, script: TANK_SCRIPT, - visible: true, + visible: false, userData: JSON.stringify({ 'hifiHomeKey': { 'reset': true } }), } - innerTank = Entities.addEntity(innerTank); + print('INNER TANK PROPS ' + properties) + innerTank = Entities.addEntity(properties); } createFishTank(); createBubbleSystems(); + createInnerTank(); + createAnenome(); createRocks(); @@ -355,6 +356,7 @@ FishTank = function(spawnPosition, spawnRotation) { Entities.deleteEntity(thirdBubbleSystem); Entities.deleteEntity(anemone); Entities.deleteEntity(rocks); + Entities.deleteEntity(innerTank); } this.cleanup = cleanup; From 265e1f0643bf8deb7f33f9f88c2c0f3aba2166dd Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 17:28:31 -0700 Subject: [PATCH 08/16] fixes --- .../Home/dressingRoom/wrapper.js | 14 --------- .../Home/fishTank/singleSpawner.js | 31 +++++++++---------- .../DomainContent/Home/fishTank/wrapper.js | 4 +-- .../Home/growingPlant/wrapper.js | 13 +++++--- .../DomainContent/Home/musicBox/wrapper.js | 3 +- .../DomainContent/Home/reset.js | 6 ++-- .../DomainContent/Home/tiltMaze/maze.js | 1 - 7 files changed, 30 insertions(+), 42 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/dressingRoom/wrapper.js b/unpublishedScripts/DomainContent/Home/dressingRoom/wrapper.js index ec5943e349..55435b0b3a 100644 --- a/unpublishedScripts/DomainContent/Home/dressingRoom/wrapper.js +++ b/unpublishedScripts/DomainContent/Home/dressingRoom/wrapper.js @@ -38,22 +38,8 @@ script: TRANSFORMER_SCRIPT } var transformer = Entities.addEntity(transformerProps); - // Script.setTimeout(function() { - // var actualProps = Entities.getEntityProperties(transformer); - // var quarterSize = Vec3.multiply(SHRINK_AMOUNT, actualProps.naturalDimensions); - // Entities.editEntity(transformer, { - // dimensions: quarterSize, - // visible:true, - // // velocity: { - // // x: 0, - // // y: -0.1, - // // z: 0 - // // } - // }); - // }, 1000) print('CREATED TRANSFORMER' + transformer); - // print('at location: ' + JSON.stringify(transformerProps.position)) return this; } \ No newline at end of file diff --git a/unpublishedScripts/DomainContent/Home/fishTank/singleSpawner.js b/unpublishedScripts/DomainContent/Home/fishTank/singleSpawner.js index f81c5311d6..48e2989166 100644 --- a/unpublishedScripts/DomainContent/Home/fishTank/singleSpawner.js +++ b/unpublishedScripts/DomainContent/Home/fishTank/singleSpawner.js @@ -1,17 +1,16 @@ - var fishTankPath = Script.resolvePath('atp:/fishTank/wrapper.js'); - var fishTankPath = Script.resolvePath('wrapper.js'); - Script.include(fishTankPath); - var center = Vec3.sum(Vec3.sum(MyAvatar.position, { - x: 0, - y: 0.5, - z: 0 - }), Vec3.multiply(1, Quat.getFront(Camera.getOrientation()))); - var fishTank = new FishTank(center, { - x: 0, - y: 0, - z: 0 - }); +var fishTankPath = Script.resolvePath('wrapper.js'); +Script.include(fishTankPath); +var center = Vec3.sum(Vec3.sum(MyAvatar.position, { + x: 0, + y: 0.5, + z: 0 +}), Vec3.multiply(1, Quat.getFront(Camera.getOrientation()))); +var fishTank = new FishTank(center, { + x: 0, + y: 0, + z: 0 +}); - Script.scriptEnding.connect(function() { - fishtank.cleanup() - }) \ No newline at end of file +Script.scriptEnding.connect(function() { + fishtank.cleanup() +}) \ No newline at end of file diff --git a/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js b/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js index 28062eecea..7b6493c6fd 100644 --- a/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js +++ b/unpublishedScripts/DomainContent/Home/fishTank/wrapper.js @@ -64,9 +64,9 @@ FishTank = function(spawnPosition, spawnRotation) { var bubbleSound = SoundCache.getSound(BUBBLE_SOUND_URL); - var ANEMONE_FORWARD_OFFSET = -TANK_DIMENSIONS.x+0.1; + var ANEMONE_FORWARD_OFFSET = -TANK_DIMENSIONS.x+0.06; var ANEMONE_LATERAL_OFFSET = 0.2; - var ANEMONE_VERTICAL_OFFSET = -0.12; + var ANEMONE_VERTICAL_OFFSET = -0.16; var ANEMONE_MODEL_URL = 'atp:/fishTank/anemone.fbx'; var ANEMONE_ANIMATION_URL = 'atp:/fishTank/anemone.fbx'; diff --git a/unpublishedScripts/DomainContent/Home/growingPlant/wrapper.js b/unpublishedScripts/DomainContent/Home/growingPlant/wrapper.js index e535b9b839..b70f9694d6 100644 --- a/unpublishedScripts/DomainContent/Home/growingPlant/wrapper.js +++ b/unpublishedScripts/DomainContent/Home/growingPlant/wrapper.js @@ -10,7 +10,7 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // var PLANT_SCRIPT_URL = Script.resolvePath("atp:/growingPlant/growingPlantEntityScript.js"); -var WATER_CAN_SCRIPT_URL = Script.resolvePath("atp:/growingPlant/waterCanEntityScript.js"); +var WATER_CAN_SCRIPT_URL = Script.resolvePath("atp:/growingPlant/waterCanEntityScript.js"); Plant = function(spawnPosition, spawnRotation) { var orientation; if (spawnRotation !== undefined) { @@ -21,6 +21,7 @@ Plant = function(spawnPosition, spawnRotation) { print("EBL ORIENTATION " + JSON.stringify(orientation)); var bowlPosition = spawnPosition; var BOWL_MODEL_URL = "atp:/growingPlant/Flowers-Bowl.fbx"; + var BOWL_COLLISION_HULL_URL = "atp:/growingPlant/bowl.obj"; var bowlDimensions = { x: 0.518, y: 0.1938, @@ -30,6 +31,8 @@ Plant = function(spawnPosition, spawnRotation) { type: "Model", modelURL: BOWL_MODEL_URL, dimensions: bowlDimensions, + shapeType: 'compound', + compoundShapeURL: BOWL_COLLISION_HULL_URL, name: "plant bowl", position: bowlPosition, userData: JSON.stringify({ @@ -52,6 +55,7 @@ Plant = function(spawnPosition, spawnRotation) { y: plantDimensions.y / 2, z: 0 }); + var plant = Entities.addEntity({ type: "Model", modelURL: PLANT_MODEL_URL, @@ -67,15 +71,14 @@ Plant = function(spawnPosition, spawnRotation) { }), }); - var WATER_CAN_MODEL_URL = "atp:/growingPlant/waterCan.fbx"; + var WATER_CAN_COLLIISION_HULL_URL = "atp:/growingPlant/can.obj"; var waterCanPosition = Vec3.sum(plantPosition, Vec3.multiply(0.6, Quat.getRight(orientation))); var waterCanRotation = orientation; var waterCan = Entities.addEntity({ type: "Model", - shapeType: 'box', - name: "hifi-water-can", + name: "hifi-water-can-newest", modelURL: WATER_CAN_MODEL_URL, script: WATER_CAN_SCRIPT_URL, dimensions: { @@ -83,6 +86,8 @@ Plant = function(spawnPosition, spawnRotation) { y: 0.2762, z: 0.4115 }, + shapeType: 'compound', + compoundShapeURL: WATER_CAN_COLLIISION_HULL_URL, position: waterCanPosition, collisionSoundURL: "atp:/growingPlant/watering_can_drop.L.wav", angularDamping: 1, diff --git a/unpublishedScripts/DomainContent/Home/musicBox/wrapper.js b/unpublishedScripts/DomainContent/Home/musicBox/wrapper.js index 86dcddd7d9..ad1c1f2e6e 100644 --- a/unpublishedScripts/DomainContent/Home/musicBox/wrapper.js +++ b/unpublishedScripts/DomainContent/Home/musicBox/wrapper.js @@ -49,7 +49,6 @@ HomeMusicBox = function(spawnPosition, spawnRotation) { var LID_OFFSET = { x: 0, y: BASE_DIMENSIONS.y / 2, - // y: BASE_DIMENSIONS.y / 2 + (LID_DIMENSIONS.y / 2), z: 0 }; @@ -104,7 +103,7 @@ HomeMusicBox = function(spawnPosition, spawnRotation) { modelURL: LID_MODEL_URL, dimensions: LID_DIMENSIONS, position: backPosition, - registrationPoint: LID_REGISTRATION_POINT, + registrationPoint: LID_REGISTRATION_POINT, dynamic: false, script: LID_SCRIPT_URL, collidesWith: 'myAvatar,otherAvatar', diff --git a/unpublishedScripts/DomainContent/Home/reset.js b/unpublishedScripts/DomainContent/Home/reset.js index eef038cb7b..08c14feeae 100644 --- a/unpublishedScripts/DomainContent/Home/reset.js +++ b/unpublishedScripts/DomainContent/Home/reset.js @@ -59,7 +59,7 @@ Reset.prototype = { tidying: false, - + preload: function(entityID) { _this.entityID = entityID; }, @@ -297,7 +297,7 @@ var rotatorBlockProps = { name: 'hifi-home-dressing-room-rotator-block', type: 'Box', - visible: true, + visible: false, color: { red: 0, green: 255, @@ -312,7 +312,7 @@ angularDamping: 0, angularVelocity: { x: 0, - y: 6, + y: 0.10472, z: 0 }, dynamic: false, diff --git a/unpublishedScripts/DomainContent/Home/tiltMaze/maze.js b/unpublishedScripts/DomainContent/Home/tiltMaze/maze.js index 23953421d5..8367ad9caf 100644 --- a/unpublishedScripts/DomainContent/Home/tiltMaze/maze.js +++ b/unpublishedScripts/DomainContent/Home/tiltMaze/maze.js @@ -60,7 +60,6 @@ preload: function(entityID) { this.entityID = entityID; VICTORY_SOUND = SoundCache.getSound("atp:/tiltMaze/levelUp.wav"); - Script.update.connect(this.update); }, startNearGrab: function() { From 6f06c0ca7f61ec81c1ec6f080ab0ae4a1e399ea9 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 19:17:42 -0700 Subject: [PATCH 09/16] reset stuffs --- .../DomainContent/Home/createTidyGuy.js | 36 ------------- .../Home/kineticObjects/leftDeskDrawer.json | 36 ------------- .../Home/kineticObjects/rightDeskDrawer.json | 36 ------------- .../Home/kineticObjects/wrapper.js | 50 +------------------ .../DomainContent/Home/reset.js | 12 ----- 5 files changed, 1 insertion(+), 169 deletions(-) delete mode 100644 unpublishedScripts/DomainContent/Home/createTidyGuy.js delete mode 100644 unpublishedScripts/DomainContent/Home/kineticObjects/leftDeskDrawer.json delete mode 100644 unpublishedScripts/DomainContent/Home/kineticObjects/rightDeskDrawer.json diff --git a/unpublishedScripts/DomainContent/Home/createTidyGuy.js b/unpublishedScripts/DomainContent/Home/createTidyGuy.js deleted file mode 100644 index c54e0ef7b2..0000000000 --- a/unpublishedScripts/DomainContent/Home/createTidyGuy.js +++ /dev/null @@ -1,36 +0,0 @@ -//v1.0 -var center = Vec3.sum(Vec3.sum(MyAvatar.position, { - x: 0, - y: 0.5, - z: 0 -}), Vec3.multiply(2, Quat.getFront(Camera.getOrientation()))); - -var SCRIPT_URL = Script.resolvePath('reset.js?' + Math.random()); - -function createTidyGuy() { - var properties = { - type: 'Model', - modelURL: 'http://hifi-content.s3.amazonaws.com/DomainContent/Home/tidyGuy/Tidyguy-6.fbx', - dimensions: { - x: 0.32, - y: 0.96, - z: 0.6844 - }, - position: center, - script: SCRIPT_URL, - dynamic:false, - userData:JSON.stringify({ - grabbableKey:{ - wantsTrigger:true - } - }) - } - - return Entities.addEntity(properties); -} - -var tidyGuy = createTidyGuy(); - -Script.scriptEnding.connect(function() { - Entities.deleteEntity(tidyGuy); -}) \ No newline at end of file diff --git a/unpublishedScripts/DomainContent/Home/kineticObjects/leftDeskDrawer.json b/unpublishedScripts/DomainContent/Home/kineticObjects/leftDeskDrawer.json deleted file mode 100644 index a119cd95c5..0000000000 --- a/unpublishedScripts/DomainContent/Home/kineticObjects/leftDeskDrawer.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "Entities": [{ - "name":"hifi_home_model_desk_drawer_left", - "compoundShapeURL": "http://hifi-content.s3.amazonaws.com/alan/dev/desk-drawer-1.obj", - "created": "2016-03-15T21:26:11Z", - "dimensions": { - "x": 0.87835502624511719, - "y": 0.32454308867454529, - "z": 0.71838575601577759 - }, - "gravity": { - "x": 0, - "y": -1, - "z": 0 - }, - "dynamic": 1, - "id": "{a87cc972-aaf5-48a4-b720-d79ee7bd68d9}", - "modelURL": "http://hifi-content.s3.amazonaws.com/alan/dev/desk-drawer-1.fbx", - "queryAACube": { - "scale": 1.1802177429199219, - "x": -0.59010887145996094, - "y": -0.59010887145996094, - "z": -0.59010887145996094 - }, - "rotation": { - "w": 0.9542534351348877, - "x": -4.57763671875e-05, - "y": 0.29893946647644043, - "z": -1.52587890625e-05 - }, - "shapeType": "compound", - "type": "Model", - "userData": "{\"hifiHomeKey\":{\"reset\":true}}" - }], - "Version": 57 -} \ No newline at end of file diff --git a/unpublishedScripts/DomainContent/Home/kineticObjects/rightDeskDrawer.json b/unpublishedScripts/DomainContent/Home/kineticObjects/rightDeskDrawer.json deleted file mode 100644 index 256e4aa3e0..0000000000 --- a/unpublishedScripts/DomainContent/Home/kineticObjects/rightDeskDrawer.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "Entities": [{ - "name": "hifi_home_model_desk_drawer_right", - "compoundShapeURL": "http://hifi-content.s3.amazonaws.com/alan/dev/desk-drawer-2.obj", - "created": "2016-03-15T21:26:11Z", - "dimensions": { - "x": 0.8697468638420105, - "y": 0.31825172901153564, - "z": 1.1220188140869141 - }, - "gravity": { - "x": 0, - "y": -1, - "z": 0 - }, - "dynamic": 1, - "id": "{ae1fa8dd-1167-40c1-8fa7-aeb12ee7b12c}", - "modelURL": "http://hifi-content.s3.amazonaws.com/alan/dev/desk-drawer-2.fbx", - "queryAACube": { - "scale": 1.4548780918121338, - "x": -0.72743904590606689, - "y": -0.72743904590606689, - "z": -0.72743904590606689 - }, - "rotation": { - "w": 0.9539787769317627, - "x": -7.62939453125e-05, - "y": 0.29982447624206543, - "z": -1.52587890625e-05 - }, - "shapeType": "compound", - "type": "Model", - "userData": "{\"hifiHomeKey\":{\"reset\":true}}" - }], - "Version": 57 -} \ No newline at end of file diff --git a/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js b/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js index f76ada695d..ec65249202 100644 --- a/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js +++ b/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js @@ -3,8 +3,7 @@ print('KINETIC INCLUDING WRAPPER') var BOOKS_URL = "atp:/kineticObjects/books.json" var UPPER_BOOKSHELF_URL = "atp:/kineticObjects/upperBookShelf.json" var LOWER_BOOKSHELF_URL = "atp:/kineticObjects/lowerBookShelf.json" -var RIGHT_DESK_DRAWER_URL = "atp:/kineticObjects/rightDeskDrawer.json" -var LEFT_DESK_DRAWER_URL = "atp:/kineticObjects/leftDeskDrawer.json" + var CHAIR_URL = 'atp:/JSON/chair.json'; var FRUIT_BOWL_URL = "atp:/kineticObjects/fruit.json" @@ -109,53 +108,6 @@ LowerBookShelf = function(spawnLocation, spawnRotation) { this.cleanup = cleanup; } -RightDeskDrawer = function(spawnLocation, spawnRotation) { - print('CREATE RIGHT DRAWER') - - var created = []; - - function create() { - var success = Clipboard.importEntities(RIGHT_DESK_DRAWER_URL); - if (success === true) { - created = Clipboard.pasteEntities(spawnLocation) - print('created ' + created); - } - }; - - function cleanup() { - created.forEach(function(obj) { - Entities.deleteEntity(obj); - }) - }; - - create(); - - this.cleanup = cleanup; -} - -LeftDeskDrawer = function(spawnLocation, spawnRotation) { - print('CREATE LEFT DRAWER') - var created = []; - - function create() { - var success = Clipboard.importEntities(LEFT_DESK_DRAWER_URL); - if (success === true) { - created = Clipboard.pasteEntities(spawnLocation) - print('created ' + created); - } - }; - - function cleanup() { - created.forEach(function(obj) { - Entities.deleteEntity(obj); - }) - }; - - create(); - - this.cleanup = cleanup; -} - Chair = function(spawnLocation, spawnRotation) { print('CREATE CHAIR') var created = []; diff --git a/unpublishedScripts/DomainContent/Home/reset.js b/unpublishedScripts/DomainContent/Home/reset.js index 08c14feeae..b4e0eea582 100644 --- a/unpublishedScripts/DomainContent/Home/reset.js +++ b/unpublishedScripts/DomainContent/Home/reset.js @@ -236,18 +236,6 @@ z: -80.2837 }); - var rightDeskDrawer = new RightDeskDrawer({ - x: 1105.1735, - y: 460.0446, - z: -81.3612 - }); - - var leftDeskDrawer = new LeftDeskDrawer({ - x: 1104.6478, - y: 460.0463, - z: -82.1095 - }); - var chair = new Chair({ x: 1105.2716, y: 459.7251, From cf8d4aa99353026b0fe679d771222667fd9417f3 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 19:48:54 -0700 Subject: [PATCH 10/16] chair --- .../Home/kineticObjects/wrapper.js | 2 +- .../Home/switches/dressingRoomDiscLights.js | 25 ++- .../Home/switches/labDeskLamp.js | 155 ------------------ 3 files changed, 19 insertions(+), 163 deletions(-) delete mode 100644 unpublishedScripts/DomainContent/Home/switches/labDeskLamp.js diff --git a/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js b/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js index ec65249202..cbc3765a46 100644 --- a/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js +++ b/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js @@ -4,7 +4,7 @@ var BOOKS_URL = "atp:/kineticObjects/books.json" var UPPER_BOOKSHELF_URL = "atp:/kineticObjects/upperBookShelf.json" var LOWER_BOOKSHELF_URL = "atp:/kineticObjects/lowerBookShelf.json" -var CHAIR_URL = 'atp:/JSON/chair.json'; +var CHAIR_URL = 'atp:/kineticObjects/chair.json'; var FRUIT_BOWL_URL = "atp:/kineticObjects/fruit.json" diff --git a/unpublishedScripts/DomainContent/Home/switches/dressingRoomDiscLights.js b/unpublishedScripts/DomainContent/Home/switches/dressingRoomDiscLights.js index ff5eea0455..8ba94d1da7 100644 --- a/unpublishedScripts/DomainContent/Home/switches/dressingRoomDiscLights.js +++ b/unpublishedScripts/DomainContent/Home/switches/dressingRoomDiscLights.js @@ -26,15 +26,24 @@ }, modelEmitOn: function(glowDisc) { - Entities.editEntity(glowDisc, { - textures: 'Metal-brushed-light.jpg:"https://s3-us-west-1.amazonaws.com/hifi-content/alan/dev/Lights-Dressing-Room-3.fbx/Lights-Dressing-Room-3.fbm/Metal-brushed-light.jpg",\nTex.CeilingLight-Emit:"http://hifi-content.s3.amazonaws.com/alan/dev/Lights-Dressing-Room-3.fbx/Lights-Dressing-Room-3.fbm/CielingLight-On-Diffuse.jpg",\nTexCeilingLight.Diffuse:"https://s3-us-west-1.amazonaws.com/hifi-content/alan/dev/Lights-Dressing-Room-3.fbx/Lights-Dressing-Room-3.fbm/CielingLight-Base.jpg"' - }); + + var data = { + "Metal-brushed-light.jpg": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/Metal-brushed-light.jpg", + "Tex.CeilingLight.Emit": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-On-Diffuse.jpg", + "TexCeilingLight.Diffuse": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-Base.jpg" + }; + Entities.editEntity(glowDisc, JSON.stringify(data)); }, modelEmitOff: function(glowDisc) { - Entities.editEntity(glowDisc, { - textures: 'Metal-brushed-light.jpg:"https://s3-us-west-1.amazonaws.com/hifi-content/alan/dev/Lights-Dressing-Room-3.fbx/Lights-Dressing-Room-3.fbm/Metal-brushed-light.jpg",\nTex.CeilingLight-Emit:"",\nTexCeilingLight.Diffuse:"https://s3-us-west-1.amazonaws.com/hifi-content/alan/dev/Lights-Dressing-Room-3.fbx/Lights-Dressing-Room-3.fbm/CielingLight-Base.jpg"' - }); + + var data = { + "Metal-brushed-light.jpg": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/Metal-brushed-light.jpg", + "Tex.CeilingLight.Emit": "", + "TexCeilingLight.Diffuse": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-Base.jpg" + } + + Entities.editEntity(glowDisc, JSON.stringify(data)); }, masterLightOn: function(masterLight) { @@ -100,7 +109,9 @@ toggleLights: function() { - _this._switch = getEntityCustomData('home-switch', _this.entityID, {state: 'off'}); + _this._switch = getEntityCustomData('home-switch', _this.entityID, { + state: 'off' + }); var glowLights = this.findGlowLights(); var masterLights = this.findMasterLights(); diff --git a/unpublishedScripts/DomainContent/Home/switches/labDeskLamp.js b/unpublishedScripts/DomainContent/Home/switches/labDeskLamp.js deleted file mode 100644 index e7bcd49423..0000000000 --- a/unpublishedScripts/DomainContent/Home/switches/labDeskLamp.js +++ /dev/null @@ -1,155 +0,0 @@ -(function() { - var SEARCH_RADIUS = 10; - var _this; - - var utilitiesScript = Script.resolvePath('../utils.js'); - - Script.include(utilitiesScript); - - Switch = function() { - _this = this; - this.switchSound = SoundCache.getSound("atp:/switches/lamp_switch_2.wav"); - }; - - Switch.prototype = { - prefix: 'hifi-home-lab-desk-lamp', - clickReleaseOnEntity: function(entityID, mouseEvent) { - if (!mouseEvent.isLeftButton) { - return; - } - this.toggleLights(); - }, - - startNearTrigger: function() { - this.toggleLights(); - }, - - modelEmitOn: function(discModel) { - Entities.editEntity(glowDisc, { - textures: { - "Tex.Lamp-Bulldog": "http://hifi-content.s3.amazonaws.com/alan/dev/Lamp-Bulldog-Base.fbx/Lamp-Bulldog-Base.fbm/dog_statue.jpg", - "Texture.001": "http://hifi-content.s3.amazonaws.com/alan/dev/Lamp-Bulldog-Base.fbx/Lamp-Bulldog-Base.fbm/Emissive-Map.png" - } - }) - - }, - - modelEmitOff: function(discModel) { - Entities.editEntity(glowDisc, { - textures: { - "Tex.Lamp-Bulldog": "http://hifi-content.s3.amazonaws.com/alan/dev/Lamp-Bulldog-Base.fbx/Lamp-Bulldog-Base.fbm/dog_statue.jpg", - "Texture.001": "" - } - }) - }, - - masterLightOn: function(masterLight) { - Entities.editEntity(masterLight, { - visible: true - }); - }, - - masterLightOff: function() { - Entities.editEntity(masterLight, { - visible: false - }); - }, - - - findMasterLights: function() { - var found = []; - var results = Entities.findEntities(this.position, SEARCH_RADIUS); - results.forEach(function(result) { - var properties = Entities.getEntityProperties(result); - if (properties.name === _this.prefix + "spotlight") { - found.push(result); - } - }); - return found; - }, - - findEmitModels: function() { - var found = []; - var results = Entities.findEntities(this.position, SEARCH_RADIUS); - results.forEach(function(result) { - var properties = Entities.getEntityProperties(result); - if (properties.name === _this.prefix + "model") { - found.push(result); - } - }); - return found; - }, - - toggleLights: function() { - - this._switch = getEntityCustomData('home-switch', this.entityID, { - state: 'off' - }); - - var masterLights = this.findMasterLights(); - var emitModels = this.findEmitModels(); - - if (this._switch.state === 'off') { - - masterLights.forEach(function(masterLight) { - _this.masterLightOn(masterLight); - }); - emitModels.forEach(function(emitModel) { - _this.modelEmitOn(emitModel); - }); - setEntityCustomData('home-switch', this.entityID, { - state: 'on' - }); - - } else { - - masterLights.forEach(function(masterLight) { - _this.masterLightOff(masterLight); - }); - emitModels.forEach(function(emitModel) { - _this.modelEmitOff(emitModel); - }); - setEntityCustomData('home-switch', this.entityID, { - state: 'off' - }); - } - - this.flipSwitch(); - Audio.playSound(this.switchSound, { - volume: 0.5, - position: this.position - }); - - }, - - flipSwitch: function() { - var rotation = Entities.getEntityProperties(this.entityID, "rotation").rotation; - var axis = { - x: 0, - y: 1, - z: 0 - }; - var dQ = Quat.angleAxis(180, axis); - rotation = Quat.multiply(rotation, dQ); - - Entities.editEntity(this.entityID, { - rotation: rotation - }); - }, - - preload: function(entityID) { - this.entityID = entityID; - setEntityCustomData('grabbableKey', this.entityID, { - wantsTrigger: true - }); - - var properties = Entities.getEntityProperties(this.entityID); - - //The light switch is static, so just cache its position once - this.position = Entities.getEntityProperties(this.entityID, "position").position; - } - }; - - // entity scripts always need to return a newly constructed object of our type - return new Switch(); -}); \ No newline at end of file From 3ee41404f761aa486ebc0aa8e1113582ebea4282 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 19:55:41 -0700 Subject: [PATCH 11/16] switch emits --- .../DomainContent/Home/reset.js | 2 -- .../Home/switches/dressingRoomDiscLights.js | 24 ++++++++++++------- .../Home/switches/livingRoomDiscLights.js | 17 +++++++++++-- 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/reset.js b/unpublishedScripts/DomainContent/Home/reset.js index b4e0eea582..8dc6a80155 100644 --- a/unpublishedScripts/DomainContent/Home/reset.js +++ b/unpublishedScripts/DomainContent/Home/reset.js @@ -86,8 +86,6 @@ var data = { "Texture.001": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Head-Housing-Texture.png", "button.tidy": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Green.png", - "button.tidy-active": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange.png", - "button.tidy-active.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Orange-Emit.png", "button.tidy.emit": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Tidy-Up-Button-Green-Emit.png", "tex.button.blanks": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Button-Blanks.png", "tex.button.blanks.normal": "atp:/Tidyguy-7.fbx/Tidyguy-7.fbm/Button-Blanks-Normal.png", diff --git a/unpublishedScripts/DomainContent/Home/switches/dressingRoomDiscLights.js b/unpublishedScripts/DomainContent/Home/switches/dressingRoomDiscLights.js index 8ba94d1da7..648a3fec46 100644 --- a/unpublishedScripts/DomainContent/Home/switches/dressingRoomDiscLights.js +++ b/unpublishedScripts/DomainContent/Home/switches/dressingRoomDiscLights.js @@ -28,22 +28,28 @@ modelEmitOn: function(glowDisc) { var data = { - "Metal-brushed-light.jpg": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/Metal-brushed-light.jpg", - "Tex.CeilingLight.Emit": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-On-Diffuse.jpg", - "TexCeilingLight.Diffuse": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-Base.jpg" - }; - Entities.editEntity(glowDisc, JSON.stringify(data)); + "Metal-brushed-light.jpg": "atp:/models/Lights-Dressing-Room-3.fbx/Lights-Dressing-Room-3.fbm/Metal-brushed-light.jpg", + "Tex.CeilingLight-Diffuse": "atp:/models/Lights-Dressing-Room-3.fbx/Lights-Dressing-Room-3.fbm/CielingLight-Base.jpg", + "Tex.CeilingLight-Emit": "atp:/models/Lights-Dressing-Room-3.fbx/Lights-Dressing-Room-3.fbm/CielingLight-On-Diffuse.jpg" + } + + Entities.editEntity(glowDisc, { + textures: JSON.stringify(data) + }); }, modelEmitOff: function(glowDisc) { var data = { - "Metal-brushed-light.jpg": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/Metal-brushed-light.jpg", - "Tex.CeilingLight.Emit": "", - "TexCeilingLight.Diffuse": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-Base.jpg" + "Metal-brushed-light.jpg": "atp:/models/Lights-Dressing-Room-3.fbx/Lights-Dressing-Room-3.fbm/Metal-brushed-light.jpg", + "Tex.CeilingLight-Diffuse": "atp:/models/Lights-Dressing-Room-3.fbx/Lights-Dressing-Room-3.fbm/CielingLight-Base.jpg", + "Tex.CeilingLight-Emit": "" } - Entities.editEntity(glowDisc, JSON.stringify(data)); + + Entities.editEntity(glowDisc, { + textures: JSON.stringify(data) + }); }, masterLightOn: function(masterLight) { diff --git a/unpublishedScripts/DomainContent/Home/switches/livingRoomDiscLights.js b/unpublishedScripts/DomainContent/Home/switches/livingRoomDiscLights.js index f8e9c3a107..50b216559f 100644 --- a/unpublishedScripts/DomainContent/Home/switches/livingRoomDiscLights.js +++ b/unpublishedScripts/DomainContent/Home/switches/livingRoomDiscLights.js @@ -24,14 +24,27 @@ }, modelEmitOn: function(glowDisc) { + var data = { + "Metal-brushed-light.jpg": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/Metal-brushed-light.jpg", + "Tex.CeilingLight.Emit": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-On-Diffuse.jpg", + "TexCeilingLight.Diffuse": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-Base.jpg" + } + Entities.editEntity(glowDisc, { - textures: 'Metal-brushed-light.jpg:"https://s3-us-west-1.amazonaws.com/hifi-content/alan/dev/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/Metal-brushed-light.jpg",\nTex.CeilingLight.Emit:"https://s3-us-west-1.amazonaws.com/hifi-content/alan/dev/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-On-Diffuse.jpg",\nTexCeilingLight.Diffuse:"https://s3-us-west-1.amazonaws.com/hifi-content/alan/dev/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-Base.jpg"' + textures: JSON.stringify(data) }) }, modelEmitOff: function(glowDisc) { + var data = { + "Metal-brushed-light.jpg": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/Metal-brushed-light.jpg", + "Tex.CeilingLight.Emit": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-On-Diffuse.jpg", + "TexCeilingLight.Diffuse": "" + } + Entities.editEntity(glowDisc, { - textures: 'Metal-brushed-light.jpg:"https://s3-us-west-1.amazonaws.com/hifi-content/alan/dev/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/Metal-brushed-light.jpg",\nTex.CeilingLight.Emit:"",\nTexCeilingLight.Diffuse:"https://s3-us-west-1.amazonaws.com/hifi-content/alan/dev/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-Base.jpg"' + textures: JSON.stringify(data) + }) }, From fa3ecc93a660455280805791671cc8390bb46bc5 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Wed, 30 Mar 2016 20:03:31 -0700 Subject: [PATCH 12/16] siwthcessss --- .../Home/switches/livingRoomDeskLamp.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/switches/livingRoomDeskLamp.js b/unpublishedScripts/DomainContent/Home/switches/livingRoomDeskLamp.js index 16673594e0..502e4c9bf0 100644 --- a/unpublishedScripts/DomainContent/Home/switches/livingRoomDeskLamp.js +++ b/unpublishedScripts/DomainContent/Home/switches/livingRoomDeskLamp.js @@ -23,21 +23,24 @@ }, modelEmitOn: function(discModel) { + var data = { + "Tex.Lamp-Bulldog": "atp:/kineticObjects/lamp/Lamp-Bulldog-Base.fbx/Lamp-Bulldog-Base.fbm/dog_statue.jpg", + "Texture.001": "atp:/kineticObjects/lamp/Lamp-Bulldog-Base.fbx/Lamp-Bulldog-Base.fbm/Emissive-Map.png" + } + Entities.editEntity(glowDisc, { - textures: { - "Tex.Lamp-Bulldog": "http://hifi-content.s3.amazonaws.com/alan/dev/Lamp-Bulldog-Base.fbx/Lamp-Bulldog-Base.fbm/dog_statue.jpg", - "Texture.001": "http://hifi-content.s3.amazonaws.com/alan/dev/Lamp-Bulldog-Base.fbx/Lamp-Bulldog-Base.fbm/Emissive-Map.png" - } + textures: JSON.stringify(data) }) }, modelEmitOff: function(discModel) { + var data = { + "Tex.Lamp-Bulldog": "atp:/kineticObjects/lamp/Lamp-Bulldog-Base.fbx/Lamp-Bulldog-Base.fbm/dog_statue.jpg", + "Texture.001": "" + }; Entities.editEntity(glowDisc, { - textures: { - "Tex.Lamp-Bulldog": "http://hifi-content.s3.amazonaws.com/alan/dev/Lamp-Bulldog-Base.fbx/Lamp-Bulldog-Base.fbm/dog_statue.jpg", - "Texture.001": "" - } + textures: JSON.stringify(data) }) }, From e4f1320c509756d2e69d19774b6faf1d1f965fd4 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Thu, 31 Mar 2016 08:42:05 -0700 Subject: [PATCH 13/16] disc lights --- .../DomainContent/Home/switches/livingRoomDiscLights.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/switches/livingRoomDiscLights.js b/unpublishedScripts/DomainContent/Home/switches/livingRoomDiscLights.js index 50b216559f..70d8bf58cd 100644 --- a/unpublishedScripts/DomainContent/Home/switches/livingRoomDiscLights.js +++ b/unpublishedScripts/DomainContent/Home/switches/livingRoomDiscLights.js @@ -38,8 +38,8 @@ modelEmitOff: function(glowDisc) { var data = { "Metal-brushed-light.jpg": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/Metal-brushed-light.jpg", - "Tex.CeilingLight.Emit": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-On-Diffuse.jpg", - "TexCeilingLight.Diffuse": "" + "Tex.CeilingLight.Emit": "", + "TexCeilingLight.Diffuse": "atp:/models/Lights-Living-Room-2.fbx/Lights-Living-Room-2.fbm/CielingLight-Base.jpg" } Entities.editEntity(glowDisc, { From 140bb755429bcb4059ee60325ac259d898eb7fc7 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Thu, 31 Mar 2016 09:21:08 -0700 Subject: [PATCH 14/16] lots --- cmake/installer/Thumbs.db | Bin 0 -> 7168 bytes interface/icon/Thumbs.db | Bin 0 -> 31232 bytes .../Home/dressingRoom/transformer.js | 2 +- .../Home/kineticObjects/blueChair.json | 39 ++++++++++++++++++ .../{chair.json => deskChair.json} | 4 +- .../Home/kineticObjects/wrapper.js | 26 +++++++++++- .../DomainContent/Home/reset.js | 7 ++++ 7 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 cmake/installer/Thumbs.db create mode 100644 interface/icon/Thumbs.db create mode 100644 unpublishedScripts/DomainContent/Home/kineticObjects/blueChair.json rename unpublishedScripts/DomainContent/Home/kineticObjects/{chair.json => deskChair.json} (86%) diff --git a/cmake/installer/Thumbs.db b/cmake/installer/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..86bc943370371869ad9d9b95e647aa37f386685c GIT binary patch literal 7168 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 literal 0 HcmV?d00001 diff --git a/interface/icon/Thumbs.db b/interface/icon/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..d1074914519fd86ed785213ecab869e789d9d914 GIT binary patch literal 31232 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 literal 0 HcmV?d00001 diff --git a/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js b/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js index f7ea0a2ad2..cdb29363d3 100644 --- a/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js +++ b/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js @@ -89,7 +89,7 @@ createBigVersion: function() { var smallProps = Entities.getEntityProperties(_this.entityID); - print('transformer should create big version!!') + print('transformer should create big version!!' + smallProps.modelURL); print('transformer has rotatorBlock??' + _this.rotatorBlock); var rotatorProps = Entities.getEntityProperties(_this.rotatorBlock); var bigVersionProps = { diff --git a/unpublishedScripts/DomainContent/Home/kineticObjects/blueChair.json b/unpublishedScripts/DomainContent/Home/kineticObjects/blueChair.json new file mode 100644 index 0000000000..09023f2722 --- /dev/null +++ b/unpublishedScripts/DomainContent/Home/kineticObjects/blueChair.json @@ -0,0 +1,39 @@ +{ + "Entities": [ + { + "collisionsWillMove": 1, + "compoundShapeURL": "atp:/kineticObjects/blueChair/Comfy_Chair_Blue_hull.obj", + "created": "2016-03-29T17:37:52Z", + "dimensions": { + "x": 0.99695134162902832, + "y": 1.23363196849823, + "z": 1.0726165771484375 + }, + "dynamic": 1, + "gravity": { + "x": 0, + "y": -10, + "z": 0 + }, + "id": "{51a44c3a-ec4a-4c79-8034-aeb5c45660b5}", + "modelURL": "atp:/kineticObjects/blueChair/Comfy_Chair_Blue.fbx", + "name": "home_model_comfyChair", + "queryAACube": { + "scale": 1.9147497415542603, + "x": -0.95737487077713013, + "y": -0.95737487077713013, + "z": -0.95737487077713013 + }, + "rotation": { + "w": 0.46746015548706055, + "x": -0.0017547607421875, + "y": 0.88400089740753174, + "z": 0.0024261474609375 + }, + "shapeType": "compound", + "type": "Model", + "userData": "{\"hifiHomeKey\":{\"reset\":true}}", + } + ], + "Version": 57 +} diff --git a/unpublishedScripts/DomainContent/Home/kineticObjects/chair.json b/unpublishedScripts/DomainContent/Home/kineticObjects/deskChair.json similarity index 86% rename from unpublishedScripts/DomainContent/Home/kineticObjects/chair.json rename to unpublishedScripts/DomainContent/Home/kineticObjects/deskChair.json index 1e48a21827..5b4b4a22c2 100644 --- a/unpublishedScripts/DomainContent/Home/kineticObjects/chair.json +++ b/unpublishedScripts/DomainContent/Home/kineticObjects/deskChair.json @@ -2,7 +2,7 @@ "Entities": [{ "userData": "{\"hifiHomeKey\":{\"reset\":true}}", "name": "hifi-home-model-chair", - "compoundShapeURL": "atp:/collision-hulls/simple-chair2.obj", + "compoundShapeURL": "atp:/kineticObjects/deskChair/simple-chair2.obj", "created": "2016-03-07T21:07:29Z", "dimensions": { "x": 0.66077238321304321, @@ -16,7 +16,7 @@ "z": 0 }, "id": "{d97c8a4e-9b95-448c-a729-5da9e22b6adc}", - "modelURL": "atp:/models/simple-chair2.fbx", + "modelURL": "atp:/kineticObjects/deskChair/simple-chair2.fbx", "queryAACube": { "scale": 1.439794659614563, "x": -0.71989732980728149, diff --git a/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js b/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js index cbc3765a46..e2dab15753 100644 --- a/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js +++ b/unpublishedScripts/DomainContent/Home/kineticObjects/wrapper.js @@ -4,7 +4,8 @@ var BOOKS_URL = "atp:/kineticObjects/books.json" var UPPER_BOOKSHELF_URL = "atp:/kineticObjects/upperBookShelf.json" var LOWER_BOOKSHELF_URL = "atp:/kineticObjects/lowerBookShelf.json" -var CHAIR_URL = 'atp:/kineticObjects/chair.json'; +var CHAIR_URL = 'atp:/kineticObjects/deskChair.json'; +var BLUE_CHAIR_URL = 'atp:/kineticObjects/blueChair.json'; var FRUIT_BOWL_URL = "atp:/kineticObjects/fruit.json" @@ -131,6 +132,29 @@ Chair = function(spawnLocation, spawnRotation) { this.cleanup = cleanup; } +BlueChair = function(spawnLocation, spawnRotation) { + print('CREATE BLUE CHAIR') + var created = []; + + function create() { + var success = Clipboard.importEntities(BLUE_CHAIR_URL); + if (success === true) { + created = Clipboard.pasteEntities(spawnLocation) + print('created ' + created); + } + }; + + function cleanup() { + created.forEach(function(obj) { + Entities.deleteEntity(obj); + }) + }; + + create(); + + this.cleanup = cleanup; +} + Trashcan = function(spawnLocation, spawnRotation) { print('CREATE TRASHCAN') var created = []; diff --git a/unpublishedScripts/DomainContent/Home/reset.js b/unpublishedScripts/DomainContent/Home/reset.js index 8dc6a80155..82acd7f09f 100644 --- a/unpublishedScripts/DomainContent/Home/reset.js +++ b/unpublishedScripts/DomainContent/Home/reset.js @@ -240,6 +240,13 @@ z: -79.8097 }); + var comfyChair = new BlueChair({ + x: 1100.4821, + y: 459.8161, + z:-75.9071 + }); + + var trashcan = new Trashcan({ x: 1103.9034, y: 459.4355, From 1524c8324f38284c273581d1e68786d46d8ac3e7 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Thu, 31 Mar 2016 09:24:31 -0700 Subject: [PATCH 15/16] revert --- unpublishedScripts/DomainContent/Home/reset.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/reset.js b/unpublishedScripts/DomainContent/Home/reset.js index 82acd7f09f..2cf1d8e605 100644 --- a/unpublishedScripts/DomainContent/Home/reset.js +++ b/unpublishedScripts/DomainContent/Home/reset.js @@ -240,11 +240,11 @@ z: -79.8097 }); - var comfyChair = new BlueChair({ - x: 1100.4821, - y: 459.8161, - z:-75.9071 - }); + // var comfyChair = new BlueChair({ + // x: 1100.4821, + // y: 459.8161, + // z:-75.9071 + // }); var trashcan = new Trashcan({ From c87dae69b08a99242265873f02e1e461f4f07899 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Thu, 31 Mar 2016 16:59:48 -0700 Subject: [PATCH 16/16] remove plant for now --- .../Home/dressingRoom/transformer.js | 70 ++----------------- .../DomainContent/Home/musicBox/wrapper.js | 2 +- .../DomainContent/Home/reset.js | 18 ++--- 3 files changed, 17 insertions(+), 73 deletions(-) diff --git a/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js b/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js index cdb29363d3..57f6bca6de 100644 --- a/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js +++ b/unpublishedScripts/DomainContent/Home/dressingRoom/transformer.js @@ -3,7 +3,7 @@ (function() { - var TRIGGER_DISTANCE = 0.85; + var TRANSFORMATION_SOUND_URL = ''; var _this; @@ -28,9 +28,9 @@ var otherProps = Entities.getEntityProperties(otherID); if (otherProps.name === "hifi-home-dressing-room-transformer-collider" && _this.locked === false) { + print('UNLOCKED TRANSFORMER COLLIDED WITH BASE!! THE AVATAR WHO SIMULATED THIS COLLISION IS:: ' + MyAvatar.sessionUUID); + _this.locked = true; _this.findRotatorBlock(); - this.locked = true; - } else { return; } @@ -44,12 +44,6 @@ }); }, - createTransformationParticles: function() { - print('transformer should create particles') - var particleProps = {}; - Entities.addEntity(particleProps); - }, - findRotatorBlock: function() { print('transformer should find rotator block') var myProps = Entities.getEntityProperties(_this.entityID); @@ -59,6 +53,7 @@ if (resultProps.name === "hifi-home-dressing-room-rotator-block") { _this.rotatorBlock = result; _this.removeCurrentBigVersion(result); + return; } }); @@ -67,8 +62,6 @@ removeCurrentBigVersion: function(rotatorBlock) { print('transformer should remove big version') var blacklistKey = 'Hifi-Hand-RayPick-Blacklist'; - - var myProps = Entities.getEntityProperties(_this.entityID); var results = Entities.findEntities(myProps.position, 10); results.forEach(function(result) { @@ -80,11 +73,11 @@ })); Entities.deleteEntity(result); + + return; } }); - - _this.createBigVersion(); - + _this.createBigVersion(); }, createBigVersion: function() { @@ -149,65 +142,16 @@ var baseRotation = userData["hifiHomeTransformerKey"].baseRotation; littleVersionProps.position = basePosition; littleVersionProps.rotation = baseRotation; - // print('transformer new version ' + JSON.stringify(littleVersionProps)); var littleTransformer = Entities.addEntity(littleVersionProps); - print('little transformer:: ' + littleTransformer); _this.removeSelf(); }, removeSelf: function() { print('transformer should remove itself') var success = Entities.deleteEntity(_this.entityID); - print('transformer actually deleted self: ' + success); }, }; - function getJointData(avatar) { - //can you do this for an arbitrary model? - var allJointData = []; - var jointNames = MyAvatar.jointNames; - jointNames.forEach(function(joint, index) { - var translation = MyAvatar.getJointTranslation(index); - var rotation = MyAvatar.getJointRotation(index) - allJointData.push({ - joint: joint, - index: index, - translation: translation, - rotation: rotation - }); - }); - - return allJointData; - } - - function getAvatarFootOffset() { - var data = getJointData(); - var upperLeg, lowerLeg, foot, toe, toeTop; - data.forEach(function(d) { - - var jointName = d.joint; - if (jointName === "RightUpLeg") { - upperLeg = d.translation.y; - } - if (jointName === "RightLeg") { - lowerLeg = d.translation.y; - } - if (jointName === "RightFoot") { - foot = d.translation.y; - } - if (jointName === "RightToeBase") { - toe = d.translation.y; - } - if (jointName === "RightToe_End") { - toeTop = d.translation.y - } - }) - - var myPosition = MyAvatar.position; - var offset = upperLeg + lowerLeg + foot + toe + toeTop; - offset = offset / 100; - return offset - } return new Transformer(); }) \ No newline at end of file diff --git a/unpublishedScripts/DomainContent/Home/musicBox/wrapper.js b/unpublishedScripts/DomainContent/Home/musicBox/wrapper.js index ad1c1f2e6e..13a3a0388b 100644 --- a/unpublishedScripts/DomainContent/Home/musicBox/wrapper.js +++ b/unpublishedScripts/DomainContent/Home/musicBox/wrapper.js @@ -102,7 +102,7 @@ HomeMusicBox = function(spawnPosition, spawnRotation) { type: 'Model', modelURL: LID_MODEL_URL, dimensions: LID_DIMENSIONS, - position: backPosition, + position: baseProps.position, registrationPoint: LID_REGISTRATION_POINT, dynamic: false, script: LID_SCRIPT_URL, diff --git a/unpublishedScripts/DomainContent/Home/reset.js b/unpublishedScripts/DomainContent/Home/reset.js index 2cf1d8e605..00e1122368 100644 --- a/unpublishedScripts/DomainContent/Home/reset.js +++ b/unpublishedScripts/DomainContent/Home/reset.js @@ -166,15 +166,15 @@ z: 0 }); - var myPlant = new Plant({ - x: 1099.8785, - y: 460.3115, - z: -84.7736 - }, { - x: 0, - y: 0, - z: 0 - }); + // var myPlant = new Plant({ + // x: 1099.8785, + // y: 460.3115, + // z: -84.7736 + // }, { + // x: 0, + // y: 0, + // z: 0 + // }); var pingPongGun = new HomePingPongGun({ x: 1101.2123,