mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 03:44:02 +02:00
comments, fix doubles in list, fix re-parenting to 0
This commit is contained in:
parent
fbe670d8c0
commit
2bcc96269e
1 changed files with 13 additions and 6 deletions
|
@ -187,8 +187,11 @@ SelectionManager = (function() {
|
|||
var duplicatedChildrenWithOldParents = [];
|
||||
var originalEntityToNewEntityID = [];
|
||||
|
||||
// build list of entities to duplicate by including any unselected children of selected parent entities
|
||||
Object.keys(that.savedProperties).forEach(function(originalEntityID) {
|
||||
entitiesToDuplicate.push(originalEntityID);
|
||||
if (entitiesToDuplicate.indexOf(originalEntityID) < 0) {
|
||||
entitiesToDuplicate.push(originalEntityID);
|
||||
}
|
||||
var children = Entities.getChildrenIDs(originalEntityID);
|
||||
for (var i = 0; i < children.length; i++) {
|
||||
var childID = children[i];
|
||||
|
@ -198,6 +201,7 @@ SelectionManager = (function() {
|
|||
}
|
||||
});
|
||||
|
||||
// duplicate entities from above and store their original to new entity mappings and children needing re-parenting
|
||||
for (var i = 0; i < entitiesToDuplicate.length; i++) {
|
||||
var originalEntityID = entitiesToDuplicate[i];
|
||||
var properties = that.savedProperties[originalEntityID];
|
||||
|
@ -217,14 +221,17 @@ SelectionManager = (function() {
|
|||
}
|
||||
}
|
||||
|
||||
// re-parent duplicated children to the duplicate entities of their original parents (if they were duplicated)
|
||||
Object.keys(duplicatedChildrenWithOldParents).forEach(function(childIDNeedingNewParent) {
|
||||
var originalParentID = duplicatedChildrenWithOldParents[childIDNeedingNewParent];
|
||||
var newParentID = originalEntityToNewEntityID[originalParentID];
|
||||
Entities.editEntity(childIDNeedingNewParent, { parentID: newParentID });
|
||||
for (var i = 0; i < duplicatedEntityIDs.length; i++) {
|
||||
var duplicatedEntity = duplicatedEntityIDs[i];
|
||||
if (duplicatedEntity.entityID === childIDNeedingNewParent) {
|
||||
duplicatedEntity.properties.parentID = newParentID;
|
||||
if (newParentID) {
|
||||
Entities.editEntity(childIDNeedingNewParent, { parentID: newParentID });
|
||||
for (var i = 0; i < duplicatedEntityIDs.length; i++) {
|
||||
var duplicatedEntity = duplicatedEntityIDs[i];
|
||||
if (duplicatedEntity.entityID === childIDNeedingNewParent) {
|
||||
duplicatedEntity.properties.parentID = newParentID;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue