mirror of
https://github.com/overte-org/overte.git
synced 2025-08-07 19:50:38 +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 duplicatedChildrenWithOldParents = [];
|
||||||
var originalEntityToNewEntityID = [];
|
var originalEntityToNewEntityID = [];
|
||||||
|
|
||||||
|
// build list of entities to duplicate by including any unselected children of selected parent entities
|
||||||
Object.keys(that.savedProperties).forEach(function(originalEntityID) {
|
Object.keys(that.savedProperties).forEach(function(originalEntityID) {
|
||||||
entitiesToDuplicate.push(originalEntityID);
|
if (entitiesToDuplicate.indexOf(originalEntityID) < 0) {
|
||||||
|
entitiesToDuplicate.push(originalEntityID);
|
||||||
|
}
|
||||||
var children = Entities.getChildrenIDs(originalEntityID);
|
var children = Entities.getChildrenIDs(originalEntityID);
|
||||||
for (var i = 0; i < children.length; i++) {
|
for (var i = 0; i < children.length; i++) {
|
||||||
var childID = children[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++) {
|
for (var i = 0; i < entitiesToDuplicate.length; i++) {
|
||||||
var originalEntityID = entitiesToDuplicate[i];
|
var originalEntityID = entitiesToDuplicate[i];
|
||||||
var properties = that.savedProperties[originalEntityID];
|
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) {
|
Object.keys(duplicatedChildrenWithOldParents).forEach(function(childIDNeedingNewParent) {
|
||||||
var originalParentID = duplicatedChildrenWithOldParents[childIDNeedingNewParent];
|
var originalParentID = duplicatedChildrenWithOldParents[childIDNeedingNewParent];
|
||||||
var newParentID = originalEntityToNewEntityID[originalParentID];
|
var newParentID = originalEntityToNewEntityID[originalParentID];
|
||||||
Entities.editEntity(childIDNeedingNewParent, { parentID: newParentID });
|
if (newParentID) {
|
||||||
for (var i = 0; i < duplicatedEntityIDs.length; i++) {
|
Entities.editEntity(childIDNeedingNewParent, { parentID: newParentID });
|
||||||
var duplicatedEntity = duplicatedEntityIDs[i];
|
for (var i = 0; i < duplicatedEntityIDs.length; i++) {
|
||||||
if (duplicatedEntity.entityID === childIDNeedingNewParent) {
|
var duplicatedEntity = duplicatedEntityIDs[i];
|
||||||
duplicatedEntity.properties.parentID = newParentID;
|
if (duplicatedEntity.entityID === childIDNeedingNewParent) {
|
||||||
|
duplicatedEntity.properties.parentID = newParentID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue