Exemple #1
0
    //TODO: Secure against cycles.
    private static void CreateFolders(MyFolderStruct folders)
    {
        foreach (var folder in folders.Children)
        {
            if (!AssetDatabase.IsValidFolder(folder.Path) && folder.Parent != null)
            {
                Debug.Log("Creating: <b>" + folder.Path + "</b>");
                AssetDatabase.CreateFolder(folder.Parent.Path, folder.Name);
                File.Create(Directory.GetCurrentDirectory() + "\\" + folder.Path + "\\.keep");
            }
            if (AssetDatabase.IsValidFolder(folder.Path))
            {
                if (Directory.GetFiles(Directory.GetCurrentDirectory() + "\\" + folder.Path).Length < 1)
                {
                    File.Create(Directory.GetCurrentDirectory() + "\\" + folder.Path + "\\.keep");
                    Debug.Log("Creating '.keep' file in: <b>" + folder.Path + "</b>");
                }
            }
            else
            {
                Debug.Log("Creating aborted: " + folder.Path);
            }

            if (folder.Children.Count > 0)
            {
                CreateFolders(folder);
            }
        }
    }
Exemple #2
0
    private static MyFolderStruct GenerateDirectory()
    {
        MyFolderStruct assets = new MyFolderStruct()
        {
            Name = "Assets"
        };

        assets.Children.Add(new MyFolderStruct("Scripts", assets));
        assets.Children.Add(new MyFolderStruct("Scenes", assets));
        assets.Children.Add(new MyFolderStruct("Extensions", assets));
        assets.Children.Add(new MyFolderStruct("Resources", assets));

        var staticAssets = new MyFolderStruct("StaticAssets", assets);

        staticAssets.Children.Add(new MyFolderStruct("Animations", staticAssets));
        staticAssets.Children.Add(new MyFolderStruct("Animators", staticAssets));
        staticAssets.Children.Add(new MyFolderStruct("Effects", staticAssets));
        staticAssets.Children.Add(new MyFolderStruct("Fonts", staticAssets));
        staticAssets.Children.Add(new MyFolderStruct("Materials", staticAssets));
        staticAssets.Children.Add(new MyFolderStruct("Models", staticAssets));
        staticAssets.Children.Add(new MyFolderStruct("Prefabs", staticAssets));
        staticAssets.Children.Add(new MyFolderStruct("Shaders", staticAssets));
        staticAssets.Children.Add(new MyFolderStruct("Sounds", staticAssets));
        staticAssets.Children.Add(new MyFolderStruct("Sprites", staticAssets));
        staticAssets.Children.Add(new MyFolderStruct("Textures", staticAssets));
        staticAssets.Children.Add(new MyFolderStruct("Videos", staticAssets));

        assets.Children.Add(staticAssets);
        return(assets);
    }
Exemple #3
0
 public MyFolderStruct(string name, MyFolderStruct parent)
 {
     Name     = name;
     Children = new List <MyFolderStruct>();
     Parent   = parent;
 }