Цитата:
Сообщение от DevDemi
Можно ли с помощью скрипта разрушить существующий блок?
|
Написал небольшую функцию, которая разрушает блок вне зависимости от того, был он создан скриптом, или существовал до запуска скрипта:
PHP код:
// Аналог команды "Разрушить блок"
function DestroyBlock(block){
// Если блок - Модель, то ничего не делаем, иначе посыпятся аксессы
if (block == Model)
return;
// Флаг, создан ли блок скриптом (находится во временной области модели)
var blockIsScript = block.IsOwner(Model.Temp);
Undo.Changing(block);
for (var i = 0; i < block.Count; i++){
var obj = block.Objects[i];
//Если не скриптовый блок, сохраняем изменения объекта в истории вручную
if (!blockIsScript){
Undo.Changing(obj);
Undo.OwnerChanging(obj);
}
obj.ReTransform(obj.Owner, block.Owner);
obj.Owner = block.Owner;
}
DeleteObject(block);
}