Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
            });
        }