Esempio n. 1
0
        public static InAudioBankLink CreateTree(GameObject go)
        {
            var root = CreateRoot(go, GUIDCreator.Create());

            CreateBankLink(go, root, GUIDCreator.Create());
            return(root);
        }
Esempio n. 2
0
        public static InMusicGroup CreateMusicGroup(InMusicNode parent)
        {
            var newNode = CreateNode <InMusicGroup>(parent.gameObject, parent, GUIDCreator.Create());

            newNode._type = MusicNodeType.Music;
            return(newNode);
        }
Esempio n. 3
0
        public static InInteractiveMusic CreateFolder(GameObject go, InInteractiveMusic parent)
        {
            var newNode = CreateNode <InInteractiveMusic>(go, parent, GUIDCreator.Create());

            newNode.type = InteractiveMusicNodeType.Folder;
            return(newNode);
        }
Esempio n. 4
0
        public static InAudioNode CreateNode(GameObject go, InAudioNode parent, AudioNodeType type)
        {
            var newNode = CreateNode(go, parent, GUIDCreator.Create(), type);

            AddDataClass(newNode);
            return(newNode);
        }
Esempio n. 5
0
        public static InMusicFolder CreateFolder(GameObject go, InMusicNode parent)
        {
            var newNode = CreateNode <InMusicFolder>(go, parent, GUIDCreator.Create());

            newNode._type = MusicNodeType.Folder;
            return(newNode);
        }
        public static InAudioEventNode CreateNode(InAudioEventNode parent, EventNodeType type)
        {
            var child = CreateEvent(parent.gameObject, parent, GUIDCreator.Create(), type);

            child.FoldedOut = true;

            return(child);
        }
Esempio n. 7
0
        public static InAudioEventNode CreateNode(InAudioEventNode parent, GameObject go, EventNodeType type)
        {
            var child = CreateEvent(go, parent, GUIDCreator.Create(), type);

            child.EditorSettings.IsFoldedOut = true;

            return(child);
        }
Esempio n. 8
0
        public static InSettingsNode CreateSettingsTree(GameObject go, int level)
        {
            var node = InUndoHelper.AddComponent <InSettingsNode>(go);

            node.GetName = "Settings";
            node._ID     = GUIDCreator.Create();
            return(node);
        }
        public static InMusicFolder CreateFolder(GameObject go, InMusicNode parent)
        {
            var newNode = CreateNode <InMusicFolder>(go, parent, GUIDCreator.Create());

            newNode._type     = MusicNodeType.Folder;
            newNode._bankLink = TreeWalker.FindFirst(InAudioInstanceFinder.DataManager.BankLinkTree,
                                                     link => link._type == AudioBankTypes.Bank);
            return(newNode);
        }
Esempio n. 10
0
        public static InInteractiveMusic CreateTree(GameObject go, int levelSize)
        {
            var Tree = CreateRoot(go, GUIDCreator.Create());

            for (int i = 0; i < levelSize; ++i)
            {
                CreateFolder(go, Tree);
            }
            return(Tree);
        }
Esempio n. 11
0
    private void DrawStartFromScratch()
    {
        EditorGUILayout.Space();
        EditorGUILayout.Space();
        EditorGUILayout.Space();
        EditorGUILayout.Space();
        EditorGUILayout.Space();
        EditorGUILayout.Space();

        if (GUILayout.Button("Start over from scratch", GUILayout.Height(30)))
        {
            if (EditorUtility.DisplayDialog("Create new project?", "This will delete ALL data!", "Start from scratch", "Do nothing"))
            {
                FolderSettings.DeleteFolderContent(Application.dataPath + FolderSettings.BankDeleteFolder);

                int        levelSize = 3;
                GameObject go1       = new GameObject();
                GameObject go2       = new GameObject();
                GameObject go3       = new GameObject();
                GameObject go4       = new GameObject();

                Manager.BusTree      = AudioBusWorker.CreateTree(go3);
                Manager.BankLinkTree = AudioBankWorker.CreateTree(go4);
                Manager.AudioTree    = AudioNodeWorker.CreateTree(go1, levelSize, Manager.BusTree);
                Manager.EventTree    = AudioEventWorker.CreateTree(go2, levelSize);

                SaveAndLoad.CreateDataPrefabs(Manager.AudioTree.gameObject, Manager.EventTree.gameObject, Manager.BusTree.gameObject, Manager.BankLinkTree.gameObject);

                Manager.Load(true);

                if (Manager.BankLinkTree != null)
                {
                    var bankLink = AudioBankWorker.CreateBank(Manager.BankLinkTree.gameObject, Manager.BankLinkTree,
                                                              GUIDCreator.Create());
                    bankLink.Name     = "Default - Auto loaded";
                    bankLink.AutoLoad = true;
                    var bankLink2 = AudioBankWorker.CreateBank(Manager.BankLinkTree.gameObject, Manager.BankLinkTree,
                                                               GUIDCreator.Create());
                    bankLink2.Name = "Extra";

                    NodeWorker.AssignToNodes(Manager.AudioTree, node => node.BankLink = Manager.BankLinkTree.GetChildren[0]);
                }
                else
                {
                    Debug.LogError("There was a problem creating the data.");
                }

                NodeWorker.AssignToNodes(Manager.AudioTree, node => node.Bus = Manager.BusTree);

                AssetDatabase.Refresh();

                EditorApplication.SaveCurrentSceneIfUserWantsTo();
            }
        }
    }
Esempio n. 12
0
 private void CreateBank(AudioBankLink parent, AudioBankTypes type)
 {
     if (type == AudioBankTypes.Folder)
     {
         AudioBankWorker.CreateFolder(parent.gameObject, parent, GUIDCreator.Create());
     }
     else
     {
         AudioBankWorker.CreateBank(parent.gameObject, parent, GUIDCreator.Create());
     }
 }
Esempio n. 13
0
        internal static InMusicNode CreateTree(GameObject go, int levelSize)
        {
            var Tree = CreateRoot(go, GUIDCreator.Create());

            for (int i = 0; i < levelSize; ++i)
            {
                var node = CreateFolder(go, Tree);
                node._name = "Music Folder " + i;
            }
            return(Tree);
        }
Esempio n. 14
0
        public static InAudioNode CreateTree(GameObject go, int numberOfChildren)
        {
            var Tree = CreateRoot(go, GUIDCreator.Create());

            for (int i = 0; i < numberOfChildren; ++i)
            {
                var newNode = CreateNode(go, Tree, GUIDCreator.Create(), AudioNodeType.Folder);
                newNode.Name = "Audio Folder " + i;
                AddDataClass(newNode);
            }
            return(Tree);
        }
        public static InAudioEventNode CreateTree(GameObject go, int levelSize)
        {
            var tree = CreateRoot(go, GUIDCreator.Create());

            for (int i = 0; i < levelSize; ++i)
            {
                var eventNode = CreateFolder(go, GUIDCreator.Create(), tree);
                eventNode.Name = "Event Folder " + i;
            }

            return(tree);
        }
Esempio n. 16
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);
        }
Esempio n. 17
0
 private void CreateBank(InAudioBankLink parent, AudioBankTypes type)
 {
     //TODO make real undo
     InUndoHelper.RecordObjectFull(parent, "Bank " + (type == AudioBankTypes.Folder ? "Folder " : "") + "Creation");
     if (type == AudioBankTypes.Folder)
     {
         AudioBankWorker.CreateFolder(parent.gameObject, parent, GUIDCreator.Create());
     }
     else
     {
         AudioBankWorker.CreateBankLink(parent.gameObject, parent, GUIDCreator.Create());
     }
 }
Esempio n. 18
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);
        }
Esempio n. 19
0
        private static T CopyHierarchy <T>(T toCopy, T parent, GameObject targetGO, Action <T, T> elementAction) where T : Component, InITreeNode <T>
        {
            T newNode = CopyComponent(toCopy, targetGO);

            newNode.AssignParent(parent);
            newNode._ID = GUIDCreator.Create();

            if (elementAction != null)
            {
                elementAction(toCopy, newNode);
            }

            int childrenCount = newNode._getChildren.Count;

            for (int i = 0; i < childrenCount; i++)
            {
                CopyHierarchy(newNode._getChildren[i], newNode, targetGO, elementAction);
            }
            newNode._getChildren.RemoveRange(0, childrenCount);
            return(newNode);
        }