using UnityEngine;
using System.Collections;
using System.IO;
#if UNITY_EDITOR
using UnityEditor;
#endif
/*
*FileName: GenerateFolder.cs
*Author: JaenyJon
*Date: #CreateTime#
*/
public class GenerateFolders : MonoBehaviour
{
#if UNITY_EDITOR
[MenuItem("Tools/CreateBasicFolder #&_b")]
private static void CreateBasicFolder()
{
GenerateFolder();
Debug.Log("Folders Created");
}
private static void GenerateFolder(int flag = 0)
{
// 文件路径
string prjPath = FoldPath.ASSETS;
//文件夹1 游戏文件夹 单个游戏的资源代码
DirectoryInfo folderParent1 = Directory.CreateDirectory(prjPath + "_Game");
DirectoryInfo folder1Child1 = folderParent1.CreateSubdirectory("Arts");
folder1Child1.CreateSubdirectory("UI");
folder1Child1.CreateSubdirectory("Models");
folder1Child1.CreateSubdirectory("Audios");
folder1Child1.CreateSubdirectory("Materials");
folder1Child1.CreateSubdirectory("Animations");
DirectoryInfo folder1Child2= folderParent1.CreateSubdirectory("Scripits");
folder1Child2.CreateSubdirectory("Editor");
folderParent1.CreateSubdirectory("Scenes");
//文件夹2 通用测试文件夹
DirectoryInfo folderParent2 = Directory.CreateDirectory(prjPath + "Test");
//文件夹3 通用Resources文件夹
DirectoryInfo folderParent3 = Directory.CreateDirectory(prjPath + "Resources");
//DirectoryInfo folder3Child = folderParent3.CreateSubdirectory("Prefabs");
//folder3Child.CreateSubdirectory("Characters");
//folder3Child.CreateSubdirectory("UIPrefabs");
//文件夹4 通用Plugins文件夹
DirectoryInfo folderParent4 = Directory.CreateDirectory(prjPath + "Plugins");
//文件夹5 通用资源文件夹
DirectoryInfo folderParent5 = Directory.CreateDirectory(prjPath + "Common");
DirectoryInfo folder5Child = folderParent5.CreateSubdirectory("CommonArts");
folder5Child.CreateSubdirectory("UITextures");
folder5Child.CreateSubdirectory("Models");
folder5Child.CreateSubdirectory("Materials");
folder5Child.CreateSubdirectory("ModelTextures");
folderParent5.CreateSubdirectory("CommonShaders");
folderParent5.CreateSubdirectory("CommonScenes");
folderParent5.CreateSubdirectory("CommonAudios");
//Ab包存放路径
DirectoryInfo folderParent6 = Directory.CreateDirectory(prjPath + "AssetBundles");
//通用脚本
DirectoryInfo folderParent7 = Directory.CreateDirectory(prjPath + "Tools");
DirectoryInfo folder7Child = folderParent7.CreateSubdirectory("Editor");
//预制体文件夹
DirectoryInfo folderParent8 = Directory.CreateDirectory(prjPath + "Prefabs");
DirectoryInfo folder8Child1 = folderParent8.CreateSubdirectory("CharacterPrefabs");
DirectoryInfo folder8Child2 = folderParent8.CreateSubdirectory("UIPrefabs");
DirectoryInfo folder8Child3 = folderParent8.CreateSubdirectory("SoundPrefabs");
AssetDatabase.Refresh();
}
#endif
}
/// <summary>
/// 自己框架文件夹结构的地址
/// </summary>
public static class FoldPath
{
public static string ASSETS = "Assets/";
public static string ASSET_BUNDLES = "Assets/AssetBundles/";
public static string PREFABS = "Assets/Prefabs/";
public static string CHARACTER_PREFABS = "Assets/Prefabs/CharacterPrefabs/";
public static string UI_PREFABS = "Assets/Prefabs/UIPrefabs/";
public static string SOUND_PREFABS = "Assets/Prefabs/SoundPrefabs/";
}
/// <summary>
/// AssetBundls包名列表
/// </summary>
public static class AssetBundleNameList
{
public static string CHARACTER = "characters";
public static string UIPREFAB = "uiprefabs";
public static string SOUND = "sounds";
}