예제 #1
0
        public static InAudioNode CreateChild(InAudioNode parent, AudioNodeType newNodeType, string name)
        {
            var node = CreateChild(parent, newNodeType);

            node.Name = name;
            return(node);
        }
예제 #2
0
        public static InAudioNode CreateNode(GameObject go, InAudioNode parent, AudioNodeType type)
        {
            var newNode = CreateNode(go, parent, GUIDCreator.Create(), type);

            AddDataClass(newNode);
            return(newNode);
        }
    private void CreateChild(AudioNode parent, AudioNodeType type)
    {
        var newNode = AudioNodeWorker.CreateChild(parent, type);

        if (type == AudioNodeType.Audio)
        {
            AudioBankWorker.AddNodeToBank(newNode, null);
        }
    }
예제 #4
0
        private void CreateChild(InAudioNode parent, AudioNodeType type)
        {
            UndoHelper.RecordObjectFull(new UnityEngine.Object[] { parent, parent.GetBank().LazyBankFetch },
                                        "Create Audio Node");
            var newNode = AudioNodeWorker.CreateChild(parent, type);

            if (type == AudioNodeType.Audio)
            {
                AudioBankWorker.AddNodeToBank(newNode, null);
            }
        }
        public static void ConvertNodeType(AudioNode node, AudioNodeType newType)
        {
            if (newType == node.Type)
            {
                return;
            }

            Object.DestroyImmediate(node.NodeData, true);
            node.Type = newType;
            AddDataClass(node);
        }
예제 #6
0
        public static InAudioNode CreateChild(GameObject go, InAudioNode parent, AudioNodeType newNodeType)
        {
            InUndoHelper.RecordObject(InUndoHelper.Array(parent).Concat(parent.GetAuxData()).ToArray(), "Undo Node Creation");
            OnRandomNode(parent);

            var child = CreateNode(go, parent, GUIDCreator.Create(), newNodeType);

            parent.EditorSettings.IsFoldedOut = true;
            child.Name = parent.Name + " Child";
            AddDataClass(child);
            return(child);
        }
예제 #7
0
        public static InAudioNode CreateNode(GameObject go, InAudioNode parent, int guid, AudioNodeType type)
        {
            var node = go.AddComponentUndo<InAudioNode>();

            node._guid = guid;
            node._type = type;
            node.Name = parent.Name + " Child";
            node.MixerGroup = parent.MixerGroup;

            node.AssignParent(parent);

            return node;
        }
        public static AudioNode CreateChild(AudioNode parent, AudioNodeType newNodeType)
        {
            Undo.RegisterSceneUndo("Child creation");
            OnRandomNode(parent);

            var child = CreateNode(parent.gameObject, parent, GUIDCreator.Create(), newNodeType);

            parent.FoldedOut = true;
            child.Name       = "Name";
            child.BankLink   = AudioBankWorker.GetParentBank(child);
            AddDataClass(child);
            return(child);
        }
예제 #9
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");

                node._type = newType;
                InUndoHelper.Destroy(node._nodeData);
                AddDataClass(node);
            });
        }
예제 #10
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);
            });
        }
예제 #11
0
        public static void AddNewParent(AudioNode node, AudioNodeType parentType)
        {
            var newParent = CreateNode(node.gameObject, node.Parent, parentType);
            var oldParent = node.Parent;

            newParent.Bus       = node.Bus;
            newParent.FoldedOut = true;
            newParent.BankLink  = AudioBankWorker.GetParentBank(oldParent);
            int index = oldParent.Children.FindIndex(node);

            NodeWorker.RemoveFromParent(node);
            NodeWorker.AssignParent(node, newParent);

            OnRandomNode(newParent);

            NodeWorker.RemoveFromParent(newParent);
            oldParent.Children.Insert(index, newParent);
        }
예제 #12
0
        public static InAudioNode CreateChild(InAudioNode parent, AudioNodeType newNodeType)
        {
            var bank = parent.GetBank();

            UndoHelper.RecordObject(UndoHelper.Array(parent, parent.NodeData, bank != null ? bank.LazyBankFetch : null), "Undo Node Creation");
            OnRandomNode(parent);

            var child = CreateNode(parent.gameObject, parent, GUIDCreator.Create(), newNodeType);

            parent.FoldedOut = true;
            child.Name       = parent.Name + " Child";
            var data = AddDataClass(child);

            if (newNodeType == AudioNodeType.Folder)
            {
                (data as InFolderData).BankLink = parent.GetBank();
            }
            return(child);
        }
예제 #13
0
        public static InAudioNode CreateChild(GameObject go, InAudioNode parent, AudioNodeType newNodeType)
        {
            var bank = parent.GetBank();

            InUndoHelper.RecordObject(InUndoHelper.Array(parent, bank).Concat(parent.GetAuxData()).ToArray(), "Undo Node Creation");
            OnRandomNode(parent);

            var child = CreateNode(go, parent, GUIDCreator.Create(), newNodeType);

            parent.FoldedOut = true;
            child.Name       = parent.Name + " Child";
            var data = AddDataClass(child);

            if (newNodeType == AudioNodeType.Folder)
            {
                (data as InFolderData).BankLink = parent.GetBank();
            }
            return(child);
        }
예제 #14
0
        public static void AddNewParent(InAudioNode node, AudioNodeType parentType)
        {
            InUndoHelper.RecordObject(new Object[] { node, node._parent }, "Undo Add New Parent for " + node.Name);
            var newParent = CreateNode(node.gameObject, node._parent, parentType);
            var oldParent = node._parent;

            newParent.MixerGroup = node.MixerGroup;
            newParent.EditorSettings.IsFoldedOut = true;

            int index = oldParent._children.FindIndex(node);

            NodeWorker.RemoveFromParent(node);
            node.AssignParent(newParent);

            OnRandomNode(newParent);

            NodeWorker.RemoveFromParent(newParent);
            oldParent._children.Insert(index, newParent);
        }
예제 #15
0
        public static void AddNewParent(InAudioNode node, AudioNodeType parentType)
        {
            UndoHelper.RecordObject(new Object[] { node, node.Parent, node.GetBankDirect() }, "Undo Add New Parent for " + node.Name);
            var newParent = CreateNode(node.gameObject, node.Parent, parentType);
            var oldParent = node.Parent;

            newParent.Bus       = node.Bus;
            newParent.FoldedOut = true;
            if (node.Type == AudioNodeType.Folder)
            {
                InFolderData data = (InFolderData)newParent.NodeData;
                data.BankLink = oldParent.GetBank();
            }
            int index = oldParent.Children.FindIndex(node);

            NodeWorker.RemoveFromParent(node);
            node.AssignParent(newParent);

            OnRandomNode(newParent);

            NodeWorker.RemoveFromParent(newParent);
            oldParent.Children.Insert(index, newParent);
        }
예제 #16
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);

            });

        }
예제 #17
0
 private void CreateChild(InAudioNode parent, AudioNodeType type)
 {
     InUndoHelper.RecordObjectFull(new UnityEngine.Object[] { parent },
                                   "Create Audio Node");
     AudioNodeWorker.CreateChild(parent, type);
 }
예제 #18
0
 public static InAudioNode CreateChild(InAudioNode parent, AudioNodeType newNodeType, string name)
 {
     var node = CreateChild(parent, newNodeType);
     node.Name = name;
     return node;
 }
예제 #19
0
 public static InAudioNode CreateChild(InAudioNode parent, AudioNodeType newNodeType)
 {
     return CreateChild(parent.gameObject, parent, newNodeType);
 }
예제 #20
0
        public static InAudioNode CreateChild(GameObject go, InAudioNode parent, AudioNodeType newNodeType)
        {
            var bank = parent.GetBank();
            InUndoHelper.RecordObject(InUndoHelper.Array(parent, bank).Concat(parent.GetAuxData()).ToArray(), "Undo Node Creation");
            OnRandomNode(parent);

            var child = CreateNode(go, parent, GUIDCreator.Create(), newNodeType);
            parent.FoldedOut = true;
            child.Name = parent.Name + " Child";
            var data = AddDataClass(child);
            if (newNodeType == AudioNodeType.Folder)
            {
                (data as InFolderData).BankLink = parent.GetBank();
            }
            return child;
        }
예제 #21
0
 public static InAudioNode CreateChild(InAudioNode parent, AudioNodeType newNodeType)
 {
     return(CreateChild(parent.gameObject, parent, newNodeType));
 }
예제 #22
0
        public static AudioNode CreateNode(GameObject go, AudioNode parent, int guid, AudioNodeType type)
        {
            var node = go.AddComponent <AudioNode>();

            node.GUID = guid;
            node.Type = type;
            node.Bus  = parent.Bus;
            NodeWorker.AssignParent(node, parent);

            return(node);
        }
예제 #23
0
        public static InAudioNode CreateNode(GameObject go, InAudioNode parent, int guid, AudioNodeType type)
        {
            var node = go.AddComponentUndo <InAudioNode>();

            node._guid      = guid;
            node._type      = type;
            node.Name       = parent.Name + " Child";
            node.MixerGroup = parent.MixerGroup;

            node.AssignParent(parent);

            return(node);
        }
예제 #24
0
        public static void AddNewParent(InAudioNode node, AudioNodeType parentType)
        {
            InUndoHelper.RecordObject(new Object[] { node, node._parent, node.GetBank() }, "Undo Add New Parent for " + node.Name);
            var newParent = CreateNode(node.gameObject, node._parent, parentType);
            var oldParent = node._parent;
            newParent.MixerGroup = node.MixerGroup;
            newParent.FoldedOut = true;
            if (node._type == AudioNodeType.Folder)
            {
                InFolderData data = (InFolderData)newParent._nodeData;
                data.BankLink = oldParent.GetBank();
            }
            int index = oldParent._children.FindIndex(node);
            NodeWorker.RemoveFromParent(node);
            node.AssignParent(newParent);

            OnRandomNode(newParent);

            NodeWorker.RemoveFromParent(newParent);
            oldParent._children.Insert(index, newParent);
        }
예제 #25
0
 public static InAudioNode CreateNode(GameObject go, InAudioNode parent, AudioNodeType type)
 {
     var newNode = CreateNode(go, parent, GUIDCreator.Create(), type);
     AddDataClass(newNode);
     return newNode;
 }