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]); } UndoHelper.Destroy(node.NodeData); UndoHelper.Destroy(node); }
public static void ConvertNodeType(InAudioNode node, AudioNodeType newType) { if (newType == node.Type) { return; } UndoHelper.DoInGroup(() => { UndoHelper.RecordObjectFull(new Object[] { node, node.NodeData }, "Change Node Type"); AudioBankWorker.RemoveNodeFromBank(node); node.Type = newType; UndoHelper.Destroy(node.NodeData); AddDataClass(node); }); }