diff --git a/scripts/system/create/edit.js b/scripts/system/create/edit.js index 9bb30ea01f..dabdfe34f9 100644 --- a/scripts/system/create/edit.js +++ b/scripts/system/create/edit.js @@ -156,7 +156,7 @@ selectionManager.addEventListener(function () { selectionDisplay.updateHandles(); - entityIconOverlayManager.updatePositions(); + entityIconOverlayManager.updatePositions(selectionManager.selections); entityShapeVisualizer.setEntities(selectionManager.selections); }); diff --git a/scripts/system/create/entityList/entityList.js b/scripts/system/create/entityList/entityList.js index 86f4ccd1fd..257f967852 100644 --- a/scripts/system/create/entityList/entityList.js +++ b/scripts/system/create/entityList/entityList.js @@ -109,6 +109,10 @@ var EntityListTool = function(shouldUseEditTabletApp, selectionManager) { // ignore events that we emitted from the entity list itself return; } + // Otherwise this will emit tens of events every second when objects are moved. + if (!isSelectionUpdate) { + return; + } var selectedIDs = []; for (var i = 0; i < that.selectionManager.selections.length; i++) { diff --git a/scripts/system/create/entitySelectionTool/entitySelectionTool.js b/scripts/system/create/entitySelectionTool/entitySelectionTool.js index 38a0d684cc..8b23ef051a 100644 --- a/scripts/system/create/entitySelectionTool/entitySelectionTool.js +++ b/scripts/system/create/entitySelectionTool/entitySelectionTool.js @@ -1082,8 +1082,8 @@ SelectionDisplay = (function() { text: "", textColor: { red: 0, green: 0, blue: 0 }, backgroundColor: { red: 255, green: 255, blue: 255 }, - textAlpha: 0.7, - backgroundAlpha: 0.7, + textAlpha: 1.0, + backgroundAlpha: 1.0, visible: false, billboardMode: "full", renderLayer: "front", diff --git a/scripts/system/libraries/entityIconOverlayManager.js b/scripts/system/libraries/entityIconOverlayManager.js index f2ca5625ea..fa73444d1e 100644 --- a/scripts/system/libraries/entityIconOverlayManager.js +++ b/scripts/system/libraries/entityIconOverlayManager.js @@ -16,20 +16,33 @@ EntityIconOverlayManager = function(entityTypes, getOverlayPropertiesFunc) { // Map from EntityItemID to EntityItemID object var entityIDs = {}; + function updateEntity(entityID) { + var properties = Entities.getEntityProperties(entityID); + var overlayProperties = { + position: properties.position + }; + if (getOverlayPropertiesFunc) { + var customProperties = getOverlayPropertiesFunc(entityID, properties); + for (var key in customProperties) { + overlayProperties[key] = customProperties[key]; + } + } + Entities.editEntity(entityOverlays[entityID], overlayProperties); + } + this.updatePositions = function(ids) { - for (var id in entityIDs) { - var entityID = entityIDs[id]; - var properties = Entities.getEntityProperties(entityID); - var overlayProperties = { - position: properties.position - }; - if (getOverlayPropertiesFunc) { - var customProperties = getOverlayPropertiesFunc(entityID, properties); - for (var key in customProperties) { - overlayProperties[key] = customProperties[key]; + if (ids) { + for (var index in ids) { + var id = ids[index]; + if (entityIDs[id]) { + updateEntity(entityIDs[id]); } } - Entities.editEntity(entityOverlays[entityID], overlayProperties); + } else { + for (var id in entityIDs) { + var entityID = entityIDs[id]; + updateEntity(entityID); + } } };