搭建属于自己的项目框架(1):项目最开始自动创建自己需要的基础文件夹

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32225289/article/details/88535046

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";
}

猜你喜欢

转载自blog.csdn.net/qq_32225289/article/details/88535046