随着项目的扩大,大量素材等资源,应该命好名整理好,便于管理。
剩下的这三个比较特殊的文件夹必须放在Assets文件夹下,之前放在Assets文件夹下的子文件夹下,发现无效了......
直接上代码吧,放到项目里,unity编译后窗口菜单上就会出现这个菜单栏。
using UnityEditor;
using UnityEngine;
using System.IO;
/// <summary>
///
/// * Writer:June
///
/// * Data:2022.2.14(修改)
///
/// * Function:在Assets文件夹目录下创建文件夹
///
/// * Remarks:
///
/// </summary>
public class CreateProjectFloder
{
/// <summary>
/// 根目录文件夹名
/// </summary>
private static string _rootFolderName = "June";
/// <summary>
/// 要创建的文件夹
/// </summary>
private static string _folderArray = "Animation,Audio,Scenes,Texture,Materials,Shaders,Prefabs,Scripts";
/// <summary>
/// Asset目录路径
/// </summary>
private static string _assetPath = Application.dataPath;
/// <summary>
/// 在Project创建指定文件夹
/// </summary>
[MenuItem("CreatFolderInProject/All/CreateProjectFolder")]
public static void CreatAllProjectFolder()
{
string[] _strArr = _folderArray.Split(',');
foreach (string str in _strArr)
{
string _folderPath = _assetPath + "/" + _rootFolderName + "/" + str;
if (!Directory.Exists(_folderPath))
Directory.CreateDirectory(_folderPath);
}
//刷新目录
AssetDatabase.Refresh();
}
[MenuItem("CreatFolderInProject/Single/Resources")]
public static void CreatResourcesFolder()
{
CreatFolder(_assetPath, "Resources");
}
[MenuItem("CreatFolderInProject/Single/StreamingAssets")]
public static void CreatStreamingAssetsFolder()
{
CreatFolder(_assetPath, "StreamingAssets");
}
[MenuItem("CreatFolderInProject/Single/Plugins")]
public static void CreatPluginsFolder()
{
CreatFolder(_assetPath, "Plugins");
}
/// <summary>
/// 创建文件夹
/// </summary>
private static void CreatFolder(string _assetPath, string _folderName)
{
string _folderPath = _assetPath + "/" + _folderName;
if (!Directory.Exists(_folderPath))
Directory.CreateDirectory(_folderPath);
//刷新目录
AssetDatabase.Refresh();
}
}
脚本必须放在Editor文件夹下,否则打包会出现错误,所有引用了UnityEditor命名空间的,都是必须放在这个文件夹下。