コード例 #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]);
            }


            InUndoHelper.Destroy(node._nodeData);
            InUndoHelper.Destroy(node);
        }
コード例 #2
0
        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);
            });
        }