using UnityEngine;
using System.Collections;
using System.IO;
#if UNITY_EDITOR
using UnityEditor;
#endif
public class GenerateFolders :MonoBehaviour
{
#if UNITY_EDITOR
[MenuItem("Tools/CreateBasicFolder #&_b")]
privatestatic voidCreateBasicFolder()
{
GenerateFolder();
Debug.Log("Folders Created");
}
[MenuItem("Tools/CreateALLFolder")]
private static void CreateAllFolder()
{
GenerateFolder(1);
Debug.Log("Folders Created");
}
private static void GenerateFolder(int flag = 0)
{
//文件路径
string prjPath = Application.dataPath + "/";
Directory.CreateDirectory(prjPath + "Audio");
Directory.CreateDirectory(prjPath + "Prefabs");
Directory.CreateDirectory(prjPath + "Materials");
Directory.CreateDirectory(prjPath + "Resources");
Directory.CreateDirectory(prjPath + "Scripts");
Directory.CreateDirectory(prjPath + "Textures");
Directory.CreateDirectory(prjPath + "Scenes");
if (1== flag){
Directory.CreateDirectory(prjPath + "Meshes");
Directory.CreateDirectory(prjPath + "Shaders");
Directory.CreateDirectory(prjPath +"GUI");
}
AssetDatabase.Refresh();
}
#endif
}
首先,需要把下载或编写的代码放到工程中,放哪里呢?原理上放哪里都可以,随你喜欢。
本例测试过程中,就放在了工程最外层:如下图:
在菜单中,会发现已经有了一个新的Tools选项,下面有两个可选项。如下图:
然后就会发现,工程Project中已经创建了你需要的基础文件夹,如下图:
这时候,你想创建更多文件夹,也可以点击下面的CreateALLFolder,当然,若这样,你还觉得与你的使用习惯不一样,你可以到代码中修改。在private static void GenerateFolder(int flag = 0)函数中,一目了然,自由添加你想要或去掉你不想要的文件夹。
通过以上方法创建之后,工程中原有如存在同名文件夹,且里头有材质或者纹理图片,这些资源不会被覆盖。