private static void DeleteNodeRec(InAudioNode node) { AudioBankWorker.RemoveNodeFromBank(node); /*TreeWalker.ForEach(InAudioInstanceFinder.DataManager.EventTree, @event => * { * for (int i = 0; i < @event.ActionList.Count; i++) * { * var action = @event.ActionList[i]; * if (action.Target == node) * { * UndoHelper.RegisterFullObjectHierarchyUndo(action); * } * } * });*/ for (int i = 0; i < node._children.Count; i++) { DeleteNodeRec(node._children[i]); } InUndoHelper.Destroy(node._nodeData); InUndoHelper.Destroy(node); }
public static void ConvertNodeType(InAudioNode node, AudioNodeType newType) { if (newType == node._type) { return; } InUndoHelper.DoInGroup(() => { InUndoHelper.RecordObjectFull(new Object[] { node, node._nodeData }, "Change Node Type"); AudioBankWorker.RemoveNodeFromBank(node); node._type = newType; InUndoHelper.Destroy(node._nodeData); AddDataClass(node); }); }