Esempio n. 1
0
    static void CreateFolderInit(FolderInit FolderInit)
    {
        string FolderInitPath = null;

        if (FolderInit.parentPath == null)
            FolderInitPath = FolderInit.folderName;
        else
            FolderInitPath = FolderInit.parentPath + "/" + FolderInit.folderName;

        if (!PathExists(FolderInitPath)) {
            AssetDatabase.CreateFolder(FolderInit.parentPath, FolderInit.folderName);
        }

        foreach (FolderInit childFolderInit in FolderInit.childFolders) {
            CreateFolderInit(childFolderInit);
        }
    }
Esempio n. 2
0
    private static void DrawFolderInits(FolderInit FolderInit)
    {
        EditorGUI.indentLevel++;
        if (FolderInit.readOnly) { // Assets FolderInit ONLY

            EditorGUILayout.BeginHorizontal();

            GUIStyle option = null;
            if (FolderInit.folderName == "Assets" || assetsOnlyReadOnly)
                option = EditorStyles.miniButton;
            else
                option = EditorStyles.miniButtonLeft;

            int widthOfButton = buttonWidth;

            if (GUILayout.Button("Add Folder", option, GUILayout.Width(100))) {
                if (FolderInit.folderName == "Assets")
                    FolderInitsAdded = true;

                string parentPath = FolderInit.parentPath == null ? "" : FolderInit.parentPath + "/";
                FolderInit newFolderInit = new FolderInit(parentPath + FolderInit.folderName, "New Folder");

                if (!FolderInitExists(newFolderInit)) {
                    FolderInits.Add(newFolderInit);
                    FolderInit.childFolders.Add(newFolderInit);
                }
            }
            if (FolderInit.folderName != "Assets") {
                    FolderInit.readOnly = false;

                EditorGUILayout.EndHorizontal();
            }
            EditorGUILayout.EndHorizontal();
        }

        else
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField(">  " + FolderInit.folderName);
            FolderInit.folderName = GUILayout.TextField(FolderInit.folderName, GUILayout.Width(textWidth));

            if (GUILayout.Button(" + ", EditorStyles.miniButtonLeft, GUILayout.Width(buttonWidth))) {
                if (FolderInit.folderName == "")
                    FolderInit.folderName = "New Folder";

                    FolderInit newFolderInit = new FolderInit(FolderInit.parentPath + "/" + FolderInit.folderName, "New Folder");

                    if (!FolderInitExists(newFolderInit)) {
                        FolderInits.Add(newFolderInit);
                        FolderInit.childFolders.Add(newFolderInit);
                    }
            }

            if (GUILayout.Button("-", EditorStyles.miniButtonRight, GUILayout.Width(buttonWidth))) {
                if (FolderInits.Contains(FolderInit)) {
                    FolderInit.delete = true;
                }

                EditorGUILayout.EndHorizontal();
                return;
            }
            EditorGUILayout.EndHorizontal();
        }

        foreach (FolderInit childFolderInit in FolderInit.childFolders) {
            if (!childFolderInit.delete)
                DrawFolderInits(childFolderInit);
        }

        EditorGUI.indentLevel--;

        for (int i = 0; i < FolderInit.childFolders.Count; i++) {

            if (FolderInit.childFolders[i].delete) {
                FolderInit.childFolders.Remove(FolderInit.childFolders[i]);
                break;
            }
        }
    }
Esempio n. 3
0
    // Update is called once per frame
    private static void init()
    {
        FolderInits = new List<FolderInit>();

        FolderInit assetsFolderInit = new FolderInit();

        if (FolderInits.Count == 0 || !FolderInitExists(assetsFolderInit))
            FolderInits.Add(assetsFolderInit);
    }
Esempio n. 4
0
    private static bool FolderInitExists(FolderInit FolderInit)
    {
        if (!FolderInits.Contains(FolderInit))
            return false;

        return true;
    }