From d63c4d11c7bfd430a3e2691ae0e5636769f3b695 Mon Sep 17 00:00:00 2001 From: Triplelexx Date: Mon, 24 Apr 2017 21:33:08 +0100 Subject: [PATCH 1/5] enable grabbable property for all newly created entities --- scripts/system/edit.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/system/edit.js b/scripts/system/edit.js index 9988df425d..c4af63eaef 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -228,7 +228,8 @@ var toolBar = (function () { var entityID = null; if (position !== null && position !== undefined) { position = grid.snapToSurface(grid.snapToGrid(position, false, dimensions), dimensions), - properties.position = position; + properties.position = position; + properties.userData = JSON.stringify({ "grabbableKey": { "grabbable": true } }); entityID = Entities.addEntity(properties); if (properties.type == "ParticleEffect") { selectParticleEntity(entityID); From d689a43678d3fd7abf56f50d6a4bb44b12850bc8 Mon Sep 17 00:00:00 2001 From: Triplelexx Date: Mon, 24 Apr 2017 22:07:51 +0100 Subject: [PATCH 2/5] changes from CR --- scripts/system/edit.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/system/edit.js b/scripts/system/edit.js index c4af63eaef..802d2341aa 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -227,9 +227,9 @@ var toolBar = (function () { var position = getPositionToCreateEntity(); var entityID = null; if (position !== null && position !== undefined) { - position = grid.snapToSurface(grid.snapToGrid(position, false, dimensions), dimensions), + position = grid.snapToSurface(grid.snapToGrid(position, false, dimensions), dimensions); properties.position = position; - properties.userData = JSON.stringify({ "grabbableKey": { "grabbable": true } }); + properties.userData = JSON.stringify({ grabbableKey: { grabbable: true } }); entityID = Entities.addEntity(properties); if (properties.type == "ParticleEffect") { selectParticleEntity(entityID); From 01b11022e3b400ead4975265d7349cd743f05db4 Mon Sep 17 00:00:00 2001 From: Triplelexx Date: Wed, 26 Apr 2017 07:26:00 +0100 Subject: [PATCH 3/5] add menu item to control grabbable setting on newly created entites --- scripts/system/edit.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/scripts/system/edit.js b/scripts/system/edit.js index 802d2341aa..7f729263eb 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -222,6 +222,21 @@ var toolBar = (function () { systemToolbar = null, tablet = null; + // add a menu item for setting newly created entities as grabbable + var GRABBABLEENTITIES_MENU_CATEGORY = "Developer"; + var GRABBABLEENTITIES_MENU_ITEM = "Create Entities As Grabbable"; + + if (Menu.menuExists(GRABBABLEENTITIES_MENU_CATEGORY) && + !Menu.menuItemExists(GRABBABLEENTITIES_MENU_CATEGORY, GRABBABLEENTITIES_MENU_ITEM)) { + Menu.addMenuItem({ + menuName: GRABBABLEENTITIES_MENU_CATEGORY, + menuItemName: GRABBABLEENTITIES_MENU_ITEM, + isCheckable: true, + isChecked: true, + grouping: "Advanced" + }); + } + function createNewEntity(properties) { var dimensions = properties.dimensions ? properties.dimensions : DEFAULT_DIMENSIONS; var position = getPositionToCreateEntity(); @@ -229,7 +244,9 @@ var toolBar = (function () { if (position !== null && position !== undefined) { position = grid.snapToSurface(grid.snapToGrid(position, false, dimensions), dimensions); properties.position = position; - properties.userData = JSON.stringify({ grabbableKey: { grabbable: true } }); + if (Menu.isOptionChecked(GRABBABLEENTITIES_MENU_ITEM)) { + properties.userData = JSON.stringify({ grabbableKey: { grabbable: true } }); + } entityID = Entities.addEntity(properties); if (properties.type == "ParticleEffect") { selectParticleEntity(entityID); @@ -254,6 +271,7 @@ var toolBar = (function () { if (systemToolbar) { systemToolbar.removeButton(EDIT_TOGGLE_BUTTON); } + Menu.removeMenuItem(GRABBABLEENTITIES_MENU_CATEGORY, GRABBABLEENTITIES_MENU_ITEM); } var buttonHandlers = {}; // only used to tablet mode From 06b3b841459964456baf0ccc04f5da85d91f1f49 Mon Sep 17 00:00:00 2001 From: Triplelexx Date: Wed, 26 Apr 2017 18:50:15 +0100 Subject: [PATCH 4/5] changes from CR --- scripts/system/edit.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/system/edit.js b/scripts/system/edit.js index 7f729263eb..17b1257ca1 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -223,14 +223,14 @@ var toolBar = (function () { tablet = null; // add a menu item for setting newly created entities as grabbable - var GRABBABLEENTITIES_MENU_CATEGORY = "Developer"; - var GRABBABLEENTITIES_MENU_ITEM = "Create Entities As Grabbable"; + var GRABBABLE_ENTITIES_MENU_CATEGORY = "Developer"; + var GRABBABLE_ENTITIES_MENU_ITEM = "Create Entities As Grabbable"; - if (Menu.menuExists(GRABBABLEENTITIES_MENU_CATEGORY) && - !Menu.menuItemExists(GRABBABLEENTITIES_MENU_CATEGORY, GRABBABLEENTITIES_MENU_ITEM)) { + if (Menu.menuExists(GRABBABLE_ENTITIES_MENU_CATEGORY) && + !Menu.menuItemExists(GRABBABLE_ENTITIES_MENU_CATEGORY, GRABBABLE_ENTITIES_MENU_ITEM)) { Menu.addMenuItem({ - menuName: GRABBABLEENTITIES_MENU_CATEGORY, - menuItemName: GRABBABLEENTITIES_MENU_ITEM, + menuName: GRABBABLE_ENTITIES_MENU_CATEGORY, + menuItemName: GRABBABLE_ENTITIES_MENU_ITEM, isCheckable: true, isChecked: true, grouping: "Advanced" @@ -244,7 +244,7 @@ var toolBar = (function () { if (position !== null && position !== undefined) { position = grid.snapToSurface(grid.snapToGrid(position, false, dimensions), dimensions); properties.position = position; - if (Menu.isOptionChecked(GRABBABLEENTITIES_MENU_ITEM)) { + if (Menu.isOptionChecked(GRABBABLE_ENTITIES_MENU_ITEM)) { properties.userData = JSON.stringify({ grabbableKey: { grabbable: true } }); } entityID = Entities.addEntity(properties); @@ -271,7 +271,7 @@ var toolBar = (function () { if (systemToolbar) { systemToolbar.removeButton(EDIT_TOGGLE_BUTTON); } - Menu.removeMenuItem(GRABBABLEENTITIES_MENU_CATEGORY, GRABBABLEENTITIES_MENU_ITEM); + Menu.removeMenuItem(GRABBABLE_ENTITIES_MENU_CATEGORY, GRABBABLE_ENTITIES_MENU_ITEM); } var buttonHandlers = {}; // only used to tablet mode From e295ab2778c52b553b0682050ddd44ffeaac4800 Mon Sep 17 00:00:00 2001 From: Triplelexx Date: Wed, 26 Apr 2017 21:13:39 +0100 Subject: [PATCH 5/5] change location of menu item Create Entities As Grabbable --- scripts/system/edit.js | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/scripts/system/edit.js b/scripts/system/edit.js index 17b1257ca1..0918d553df 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -213,6 +213,8 @@ function hideMarketplace() { // } var TOOLS_PATH = Script.resolvePath("assets/images/tools/"); +var GRABBABLE_ENTITIES_MENU_CATEGORY = "Edit"; +var GRABBABLE_ENTITIES_MENU_ITEM = "Create Entities As Grabbable"; var toolBar = (function () { var EDIT_SETTING = "io.highfidelity.isEditting"; // for communication with other scripts @@ -222,21 +224,6 @@ var toolBar = (function () { systemToolbar = null, tablet = null; - // add a menu item for setting newly created entities as grabbable - var GRABBABLE_ENTITIES_MENU_CATEGORY = "Developer"; - var GRABBABLE_ENTITIES_MENU_ITEM = "Create Entities As Grabbable"; - - if (Menu.menuExists(GRABBABLE_ENTITIES_MENU_CATEGORY) && - !Menu.menuItemExists(GRABBABLE_ENTITIES_MENU_CATEGORY, GRABBABLE_ENTITIES_MENU_ITEM)) { - Menu.addMenuItem({ - menuName: GRABBABLE_ENTITIES_MENU_CATEGORY, - menuItemName: GRABBABLE_ENTITIES_MENU_ITEM, - isCheckable: true, - isChecked: true, - grouping: "Advanced" - }); - } - function createNewEntity(properties) { var dimensions = properties.dimensions ? properties.dimensions : DEFAULT_DIMENSIONS; var position = getPositionToCreateEntity(); @@ -922,11 +909,21 @@ function setupModelMenus() { afterItem: "Parent Entity to Last", grouping: "Advanced" }); + + Menu.addMenuItem({ + menuName: GRABBABLE_ENTITIES_MENU_CATEGORY, + menuItemName: GRABBABLE_ENTITIES_MENU_ITEM, + afterItem: "Unparent Entity", + isCheckable: true, + isChecked: true, + grouping: "Advanced" + }); + Menu.addMenuItem({ menuName: "Edit", menuItemName: "Allow Selecting of Large Models", shortcutKey: "CTRL+META+L", - afterItem: "Unparent Entity", + afterItem: GRABBABLE_ENTITIES_MENU_ITEM, isCheckable: true, isChecked: true, grouping: "Advanced"