From ad661cb34563844d52f69f7f19b06bf74184ffe2 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Fri, 10 Nov 2017 10:50:07 +1300 Subject: [PATCH] Don't remove entities from list when try to delete locked entity --- scripts/system/edit.js | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/scripts/system/edit.js b/scripts/system/edit.js index 15f1c2f6c1..88f50cb080 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -1424,24 +1424,29 @@ function deleteSelectedEntities() { for (var i = 0; i < newSortedSelection.length; i++) { var entityID = newSortedSelection[i]; var initialProperties = SelectionManager.savedProperties[entityID]; - var children = Entities.getChildrenIDs(entityID); - var childList = []; - recursiveDelete(children, childList, deletedIDs); - savedProperties.push({ - entityID: entityID, - properties: initialProperties, - children: childList - }); - deletedIDs.push(entityID); - Entities.deleteEntity(entityID); + if (!initialProperties.locked) { + var children = Entities.getChildrenIDs(entityID); + var childList = []; + recursiveDelete(children, childList, deletedIDs); + savedProperties.push({ + entityID: entityID, + properties: initialProperties, + children: childList + }); + deletedIDs.push(entityID); + Entities.deleteEntity(entityID); + } } - SelectionManager.clearSelections(); - pushCommandForSelections([], savedProperties); - entityListTool.webView.emitScriptEvent(JSON.stringify({ - type: "deleted", - ids: deletedIDs - })); + if (savedProperties.length > 0) { + SelectionManager.clearSelections(); + pushCommandForSelections([], savedProperties); + + entityListTool.webView.emitScriptEvent(JSON.stringify({ + type: "deleted", + ids: deletedIDs + })); + } } }