public void DuplicateSelectedEntities() { BIWCompleteAction buildAction = new BIWCompleteAction(); buildAction.actionType = BIWCompleteAction.ActionType.CREATE; List <BIWEntityAction> entityActionList = new List <BIWEntityAction>(); List <BIWEntity> entitiesToDuplicate = new List <BIWEntity>(selectedEntities); DeselectEntities(); foreach (BIWEntity entityToDuplicate in entitiesToDuplicate) { if (entityToDuplicate.isNFT) { continue; } var entityDuplicated = DuplicateEntity(entityToDuplicate); BIWEntityAction biwEntityAction = new BIWEntityAction(entityDuplicated.rootEntity, entityDuplicated.rootEntity.entityId, BIWUtils.ConvertEntityToJSON(entityDuplicated.rootEntity)); entityActionList.Add(biwEntityAction); SelectEntity(entityDuplicated); } currentActiveMode?.SetDuplicationOffset(DUPLICATE_OFFSET); buildAction.CreateActionType(entityActionList, BIWCompleteAction.ActionType.CREATE); actionController.AddAction(buildAction); }
public void ChangeFloor(CatalogItem newFloorObject) { saveController.SetSaveActivation(false); CatalogItem lastFloor = lastFloorCalalogItemUsed; if (lastFloor == null) { lastFloor = FindCurrentFloorCatalogItem(); } entityHandler.DeleteFloorEntities(); CreateFloor(newFloorObject); BIWCompleteAction buildAction = new BIWCompleteAction(); buildAction.CreateChangeFloorAction(lastFloor, newFloorObject); actionController.AddAction(buildAction); saveController.SetSaveActivation(true, true); }