Unity通过菜单栏快速创建文件夹

随着项目的扩大,大量素材等资源,应该命好名整理好,便于管理。

剩下的这三个比较特殊的文件夹必须放在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命名空间的,都是必须放在这个文件夹下。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值