少年修仙传客户端基础资源
hch
2025-02-14 822513a5dff92368ef8dfe5d12a3544b67bd747a
Assets/Editor/Tool/UpdateAssetBundleName.cs
@@ -20,7 +20,6 @@
        UpdateLevelSetting.SetAllLevelAssetBundleName();
        UpdateAudioSetting.SetAllAudioAssetBundleName();
        UpdateVideoSetting.SetAllVideoAssetBundleName();
        // UpdateLuaSetting.SetAllLuaAssetBundleName();
        UpdateBuiltInSetting.SetBuiltinAssetBundleName();
        AssetDatabase.Refresh();
        DebugEx.Log("资源包名全部更新完成!");
@@ -49,7 +48,18 @@
    [MenuItem("程序/设置资源包名/更新Sprite(All) AssetBundleName")]
    public static void SetAllSpriteAssetBundleName()
    {
        var allFiles = new DirectoryInfo(rootPath).GetFiles("*.png", SearchOption.AllDirectories);
        //改成设置atlas的assetBundleName
        var allFiles = new DirectoryInfo(rootPath).GetFiles("*.spriteatlasv2", SearchOption.AllDirectories);
        foreach (var file in allFiles)
        {
            var importerPath = spriteRelativePath + Path.DirectorySeparatorChar + file.Name;
            var importer = AssetImporter.GetAtPath(importerPath);
            importer.assetBundleName = "ui/sprite/" + file.Name.Split(".")[0].ToLower();
            // EditorUtility.SetDirty(importer);
        }
        allFiles = new DirectoryInfo(rootPath).GetFiles("*.png", SearchOption.AllDirectories);
        foreach (var file in allFiles)
        {
@@ -59,6 +69,8 @@
            importer.assetBundleName = "ui/sprite/" + pathStringArray[pathStringArray.Length - 1].ToLower();
            // EditorUtility.SetDirty(importer);
        }
        DebugEx.Log("Sprite资源包名更新完成!");
        // AssetDatabase.SaveAssets();
        // AssetDatabase.Refresh();
@@ -186,16 +198,16 @@
public class UpdateMobSetting
{
    static string rootPath = Application.dataPath + "/ResourcesOut/Mob";
    static string assetPath = "Assets/ResourcesOut/Mob";
    static string createroleRoot = Application.dataPath + "/ResourcesOut/Mob/CreateRole";
    static string createroleAssetPath = "Assets/ResourcesOut/Mob/CreateRole";
    static string rootPath = Application.dataPath + "/ResourcesOut/Gmodels";
    static string assetPath = "Assets/ResourcesOut/Gmodels";
    static string createroleRoot = Application.dataPath + "/ResourcesOut/Gmodels/CreateRole";
    static string createroleAssetPath = "Assets/ResourcesOut/Gmodels/CreateRole";
    static string zsMaterialPath_Origin = Application.dataPath + "/Art/Role/A_Zs/Materials";
    static string fsMaterialPath_Origin = Application.dataPath + "/Art/Role/A_Fs/Materials";
    static string zsMaterialPath_OutPut = Application.dataPath + "/ResourcesOut/Mob/A_Zs/Materials";
    static string fsMaterialPath_OutPut = Application.dataPath + "/ResourcesOut/Mob/A_Fs/Materials";
    static string zsMaterialPath_OutPut = Application.dataPath + "/ResourcesOut/Gmodels/A_Zs/Materials";
    static string fsMaterialPath_OutPut = Application.dataPath + "/ResourcesOut/Gmodels/A_Fs/Materials";
    [MenuItem("程序/设置资源包名/更新Mob(All) AssetBundleName")]
    public static void SetAllMobAssetBundleName()
@@ -215,7 +227,7 @@
                                                 .Replace(".prefab", "")
                                                 .Replace("Prefab_Hand", "");
            importer.assetBundleName = StringUtility.Contact("mob/prefab_race", hostfix);
            importer.assetBundleName = StringUtility.Contact("gmodels/prefab_race", hostfix);
            // EditorUtility.SetDirty(importer);
        }
@@ -225,7 +237,7 @@
            var importerPath = createroleAssetPath + Path.DirectorySeparatorChar + file.Name;
            var extersion = Path.GetExtension(file.FullName);
            var importer = AssetImporter.GetAtPath(importerPath);
            importer.assetBundleName = "mob/createrole";
            importer.assetBundleName = "gmodels/createrole";
            // EditorUtility.SetDirty(importer);
        }
@@ -262,12 +274,12 @@
            if (_file.Name.StartsWith("A_Zs_Sz"))
            {
                string _abName = Path.GetFileNameWithoutExtension(_file.Name).Replace("_Dm", "");
                _importer.assetBundleName = "mob/prefab_race_" + _abName;
                _importer.assetBundleName = "gmodels/prefab_race_" + _abName;
            }
            else
            {
                string _abName = Path.GetFileNameWithoutExtension(_file.Name).Replace("_02", "").Replace("_Dm", "").Replace("_Dm_02", "");
                _importer.assetBundleName = "mob/prefab_race_" + _abName;
                _importer.assetBundleName = "gmodels/prefab_race_" + _abName;
            }
            // EditorUtility.SetDirty(_importer);
        }
@@ -281,12 +293,12 @@
            if (_file.Name.StartsWith("A_Fs_Sz"))
            {
                string _abName = Path.GetFileNameWithoutExtension(_file.Name).Replace("_Dm", "");
                _importer.assetBundleName = "mob/prefab_race_" + _abName;
                _importer.assetBundleName = "gmodels/prefab_race_" + _abName;
            }
            else
            {
                string _abName = Path.GetFileNameWithoutExtension(_file.Name).Replace("_02", "").Replace("_Dm", "").Replace("_Dm_02", "");
                _importer.assetBundleName = "mob/prefab_race_" + _abName;
                _importer.assetBundleName = "gmodels/prefab_race_" + _abName;
            }
            // EditorUtility.SetDirty(_importer);
        }
@@ -300,7 +312,7 @@
        //    var importerPath = assetPath + "/A_Zs/Materials/" + file.Name;
        //    var importer = AssetImporter.GetAtPath(importerPath);
        //    importer.assetBundleName = "mob/a_zs_materials";
        //    importer.assetBundleName = "gmodels/a_zs_materials";
        //    EditorUtility.SetDirty(importer);
        //}
@@ -310,10 +322,10 @@
        //    var importerPath = assetPath + "/A_Fs/Materials/" + file.Name;
        //    var importer = AssetImporter.GetAtPath(importerPath);
        //    importer.assetBundleName = "mob/a_fs_materials";
        //    importer.assetBundleName = "gmodels/a_fs_materials";
        //    EditorUtility.SetDirty(importer);
        //}
        DebugEx.Log("Mob资源包名更新完成!");
        DebugEx.Log("Gmodels资源包名更新完成!");
        //AssetDatabase.SaveAssets();
        //AssetDatabase.Refresh();
    }
@@ -373,8 +385,10 @@
public class UpdateLevelSetting
{
    static string exportMapsPath = Application.dataPath + "/Editor/Config/ExportMaps.txt";
    static string rootPath = Application.dataPath + "/Art/Maps/Scenes";
    static string assetPath = "Assets/Art/Maps/Scenes";
    static HashSet<string> exportMaps;//去除的地图列表
    public static void SetCreateRoleLevel(string pattern)
    {
@@ -395,12 +409,19 @@
    [MenuItem("程序/设置资源包名/更新Level(All) AssetBundleName")]
    public static void SetAllLevelAssetBundleName()
    {
        ReadExportConfig();
        var allFiles = new DirectoryInfo(rootPath).GetFiles("*.unity", SearchOption.TopDirectoryOnly);
        foreach (var file in allFiles)
        {
            var importerPath = assetPath + Path.DirectorySeparatorChar + file.Name;
            var importer = AssetImporter.GetAtPath(importerPath);
            importer.assetBundleName = "maps/" + Path.GetFileNameWithoutExtension(file.FullName).ToLower();
            var name = Path.GetFileNameWithoutExtension(file.FullName);
            if (exportMaps.Contains(name)) //判断这个地图是否被排除,被排除不打包
                importer.assetBundleName = "";
            else
                importer.assetBundleName = "maps/" + name.ToLower();
            // EditorUtility.SetDirty(importer);
        }
@@ -419,9 +440,21 @@
            importer.assetBundleName = "maps/textures";
            // EditorUtility.SetDirty(importer);
        }
        DebugEx.Log("Level资源包名更新完成!");
        exportMaps?.Clear();
        exportMaps = null;
        DebugEx.Log("map资源包名更新完成!");
        // AssetDatabase.SaveAssets();
        // AssetDatabase.Refresh();
    }
    //读取排除地图的配置
    private static void ReadExportConfig()
    {
        if (File.Exists(exportMapsPath))
        {
            var lines = File.ReadAllLines(exportMapsPath);
            exportMaps = new HashSet<string>(lines);
        }
    }
}
@@ -465,37 +498,10 @@
        {
            var importerPath = assetPath + file.Name;
            var importer = AssetImporter.GetAtPath(importerPath);
            importer.assetBundleName = "video/mp4";
            importer.assetBundleName = "video/"+Path.GetFileNameWithoutExtension(file.FullName);
            // EditorUtility.SetDirty(importer);
        }
        DebugEx.Log("Video资源包名更新完成!");
        // AssetDatabase.SaveAssets();
        // AssetDatabase.Refresh();
    }
}
public class UpdateLuaSetting
{
    static string rootPath = Application.dataPath + "/ResourcesOut/Lua/";
    static string assetPath = "Assets/ResourcesOut/Lua/";
    [MenuItem("程序/设置资源包名/更新Lua(All) AssetBundleName")]
    public static void SetAllLuaAssetBundleName()
    {
        var allFiles = new DirectoryInfo(rootPath).GetFiles("*.txt", SearchOption.AllDirectories);
        var amendRootPath = rootPath.Replace("\\", "/");
        foreach (var file in allFiles)
        {
            var directoryName = file.DirectoryName.Replace("\\", "/");
            var relativeDirectory = directoryName.Replace(amendRootPath, "");
            var importerPath = assetPath + relativeDirectory + Path.DirectorySeparatorChar + file.Name;
            var importer = AssetImporter.GetAtPath(importerPath);
            importer.assetBundleName = "lua/" + relativeDirectory.ToLower();
            // EditorUtility.SetDirty(importer);
        }
        DebugEx.Log("Lua资源包名更新完成!");
        // AssetDatabase.SaveAssets();
        // AssetDatabase.Refresh();
    }
@@ -519,15 +525,23 @@
            if (extension == ".meta")
            {
                continue;
            }
            if (extension == ".DS_Store")
            {
                continue;
            }
            var directoryName = file.DirectoryName.Replace("\\", "/");
            var relativeDirectory = directoryName.Replace(amendRootPath, "");
            var importerPath = assetPath + relativeDirectory + Path.DirectorySeparatorChar + file.Name;
            var importer = AssetImporter.GetAtPath(importerPath);
            importer.assetBundleName = "builtin/" + relativeDirectory.ToLower();
            // EditorUtility.SetDirty(importer);
            if (file.Name != ".DS_Store")
            {
                var importer = AssetImporter.GetAtPath(importerPath);
                importer.assetBundleName = "builtin/" + relativeDirectory.ToLower();
                // EditorUtility.SetDirty(importer);
            }
        }
        DebugEx.Log("BuiltIn资源包名更新完成!");
        // AssetDatabase.SaveAssets();