private static void CreateFolders(Folder rootFolder) { if (!AssetDatabase.IsValidFolder(rootFolder.DirPath)) { Debug.Log("Creating: <b>" + rootFolder.DirPath + "</b>"); AssetDatabase.CreateFolder(rootFolder.ParentPath, rootFolder.Name); File.Create(Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + rootFolder.DirPath + Path.DirectorySeparatorChar + ".keep"); } else { if (Directory.GetFiles(Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + rootFolder.DirPath).Length < 1) { File.Create(Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + rootFolder.DirPath + Path.DirectorySeparatorChar + ".keep"); Debug.Log("Creating '.keep' file in: <b>" + rootFolder.DirPath + "</b>"); } else { Debug.Log("Directory <b>" + rootFolder.DirPath + "</b> already exists"); } } foreach (var folder in rootFolder.Subfolders) { CreateFolders(folder); } }
private static Folder GenerateFolderStructure() { Folder rootFolder = new Folder("Assets", ""); rootFolder.Add("Scripts"); rootFolder.Add("Scenes"); rootFolder.Add("Extensions"); rootFolder.Add("Resources"); rootFolder.Add("Plugins"); var staticAssets = rootFolder.Add("StaticAssets"); staticAssets.Add("Animations"); staticAssets.Add("Animators"); staticAssets.Add("Effects"); staticAssets.Add("Fonts"); staticAssets.Add("Materials"); staticAssets.Add("Models"); staticAssets.Add("Prefabs"); staticAssets.Add("Shaders"); staticAssets.Add("Sounds"); staticAssets.Add("Sprites"); staticAssets.Add("Textures"); staticAssets.Add("Videos"); return rootFolder; }
public Folder Add(string name) { Folder subfolder = null; if (ParentPath.Length > 0) subfolder = new Folder(name, ParentPath + Path.DirectorySeparatorChar + Name); else subfolder = new Folder(name, Name); Subfolders.Add(subfolder); return subfolder; }