From e7a8255af2d17266a842ebdd4abff849231df411 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Fri, 1 May 2015 13:02:28 -0700 Subject: [PATCH] Replace zoneOverlayManager with internal drawZoneBoundaries --- examples/edit.js | 7 +- examples/libraries/zoneOverlayManager.js | 146 ----------------------- 2 files changed, 2 insertions(+), 151 deletions(-) delete mode 100644 examples/libraries/zoneOverlayManager.js diff --git a/examples/edit.js b/examples/edit.js index e6dd03de96..adc3374eb0 100644 --- a/examples/edit.js +++ b/examples/edit.js @@ -28,7 +28,6 @@ Script.include([ "libraries/gridTool.js", "libraries/entityList.js", "libraries/lightOverlayManager.js", - "libraries/zoneOverlayManager.js", ]); var selectionDisplay = SelectionDisplay; @@ -36,7 +35,6 @@ var selectionManager = SelectionManager; var entityPropertyDialogBox = EntityPropertyDialogBox; var lightOverlayManager = new LightOverlayManager(); -var zoneOverlayManager = new ZoneOverlayManager(); var cameraManager = new CameraManager(); @@ -49,7 +47,6 @@ var entityListTool = EntityListTool(); selectionManager.addEventListener(function() { selectionDisplay.updateHandles(); lightOverlayManager.updatePositions(); - zoneOverlayManager.updatePositions(); }); var windowDimensions = Controller.getViewportDimensions(); @@ -246,7 +243,7 @@ var toolBar = (function () { } toolBar.selectTool(activeButton, isActive); lightOverlayManager.setVisible(isActive && Menu.isOptionChecked(MENU_SHOW_LIGHTS_IN_EDIT_MODE)); - zoneOverlayManager.setVisible(isActive && Menu.isOptionChecked(MENU_SHOW_ZONES_IN_EDIT_MODE)); + Entities.drawZoneBoundaries(isActive && Menu.isOptionChecked(MENU_SHOW_ZONES_IN_EDIT_MODE)); }; // Sets visibility of tool buttons, excluding the power button @@ -1000,7 +997,7 @@ function handeMenuEvent(menuItem) { } else if (menuItem == MENU_SHOW_LIGHTS_IN_EDIT_MODE) { lightOverlayManager.setVisible(isActive && Menu.isOptionChecked(MENU_SHOW_LIGHTS_IN_EDIT_MODE)); } else if (menuItem == MENU_SHOW_ZONES_IN_EDIT_MODE) { - zoneOverlayManager.setVisible(isActive && Menu.isOptionChecked(MENU_SHOW_ZONES_IN_EDIT_MODE)); + Entities.drawZoneBoundaries(isActive && Menu.isOptionChecked(MENU_SHOW_ZONES_IN_EDIT_MODE)); } tooltip.show(false); } diff --git a/examples/libraries/zoneOverlayManager.js b/examples/libraries/zoneOverlayManager.js deleted file mode 100644 index aac3af119b..0000000000 --- a/examples/libraries/zoneOverlayManager.js +++ /dev/null @@ -1,146 +0,0 @@ -ZoneOverlayManager = function(isEntityFunc, entityAddedFunc, entityRemovedFunc, entityMovedFunc) { - var self = this; - - var visible = false; - - // List of all created overlays - var allOverlays = []; - - // List of overlays not currently being used - var unusedOverlays = []; - - // Map from EntityItemID.id to overlay id - var entityOverlays = {}; - - // Map from EntityItemID.id to EntityItemID object - var entityIDs = {}; - - this.updatePositions = function(ids) { - for (var id in entityIDs) { - var entityID = entityIDs[id]; - var properties = Entities.getEntityProperties(entityID); - Overlays.editOverlay(entityOverlays[entityID.id].solid, { - position: properties.position, - rotation: properties.rotation, - dimensions: properties.dimensions, - }); - Overlays.editOverlay(entityOverlays[entityID.id].outline, { - position: properties.position, - rotation: properties.rotation, - dimensions: properties.dimensions, - }); - } - }; - - this.setVisible = function(isVisible) { - if (visible != isVisible) { - visible = isVisible; - for (var id in entityOverlays) { - Overlays.editOverlay(entityOverlays[id].solid, { visible: visible }); - Overlays.editOverlay(entityOverlays[id].outline, { visible: visible }); - } - } - }; - - // Allocate or get an unused overlay - function getOverlay() { - if (unusedOverlays.length == 0) { - var overlay = Overlays.addOverlay("cube", { - }); - allOverlays.push(overlay); - } else { - var overlay = unusedOverlays.pop(); - }; - return overlay; - } - - function releaseOverlay(overlay) { - unusedOverlays.push(overlay); - Overlays.editOverlay(overlay, { visible: false }); - } - - function addEntity(entityID) { - var properties = Entities.getEntityProperties(entityID); - if (properties.type == "Zone" && !(entityID.id in entityOverlays)) { - var overlaySolid = getOverlay(); - var overlayOutline = getOverlay(); - - entityOverlays[entityID.id] = { - solid: overlaySolid, - outline: overlayOutline, - } - entityIDs[entityID.id] = entityID; - - var color = { - red: Math.round(Math.random() * 255), - green: Math.round(Math.random() * 255), - blue: Math.round(Math.random() * 255) - }; - Overlays.editOverlay(overlaySolid, { - position: properties.position, - rotation: properties.rotation, - dimensions: properties.dimensions, - visible: visible, - solid: true, - alpha: 0.1, - color: color, - ignoreRayIntersection: true, - }); - Overlays.editOverlay(overlayOutline, { - position: properties.position, - rotation: properties.rotation, - dimensions: properties.dimensions, - visible: visible, - solid: false, - dashed: false, - lineWidth: 2.0, - alpha: 1.0, - color: color, - ignoreRayIntersection: true, - }); - } - } - - function deleteEntity(entityID) { - if (entityID.id in entityOverlays) { - releaseOverlay(entityOverlays[entityID.id].outline); - releaseOverlay(entityOverlays[entityID.id].solid); - delete entityIDs[entityID.id]; - delete entityOverlays[entityID.id]; - } - } - - function changeEntityID(oldEntityID, newEntityID) { - entityOverlays[newEntityID.id] = entityOverlays[oldEntityID.id]; - entityIDs[newEntityID.id] = newEntityID; - - delete entityOverlays[oldEntityID.id]; - delete entityIDs[oldEntityID.id]; - } - - function clearEntities() { - for (var id in entityOverlays) { - releaseOverlay(entityOverlays[id].outline); - releaseOverlay(entityOverlays[id].solid); - } - entityOverlays = {}; - entityIDs = {}; - } - - Entities.addingEntity.connect(addEntity); - Entities.changingEntityID.connect(changeEntityID); - Entities.deletingEntity.connect(deleteEntity); - Entities.clearingEntities.connect(clearEntities); - - // Add existing entities - var ids = Entities.findEntities(MyAvatar.position, 64000); - for (var i = 0; i < ids.length; i++) { - addEntity(ids[i]); - } - - Script.scriptEnding.connect(function() { - for (var i = 0; i < allOverlays.length; i++) { - Overlays.deleteOverlay(allOverlays[i]); - } - }); -};