三国卡牌客户端基础资源仓库
yyl
2026-05-22 89e196208d89007a7b033b0e70488035ae61eb73
改动2
4个文件已修改
52 ■■■■■ 已修改文件
Assets/Editor/Tool/ClientPackage.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/ClientPackage_Standalone.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/YooAsset/AddressByRelativePath.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/YooAsset/YooAssetBuildTool.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/ClientPackage.cs
@@ -15,6 +15,7 @@
{
    public static readonly string versionsFilePath = Application.dataPath + "/Editor/VersionConfigs/Versions.txt";
    public static readonly string[] baseLevels = new string[] { "Assets/Resources/Scenes/Launch.unity" };
    private static readonly string[] LaunchRequiredYooPackages = { "Builtin", "Dll" };
    public static string auditOutTime = string.Empty;
@@ -144,14 +145,12 @@
        // YooAsset StreamingAssets 根目录
        string yooRoot = AssetBundleBuilderHelper.GetStreamingAssetsRoot();
        // ---- NullAsset(小包):不保留任何 Package,全部从 CDN 按需下载 ----
        // ---- NullAsset(小包):只保留 Launch 必需 Package,其它资源从 CDN 按需下载 ----
        if (smallPackages.Count > 0)
        {
            // 删除所有 Package 文件夹
            string[] keepPackages = { };
            RemovePackagesExcept(yooRoot, keepPackages);
            RemovePackagesExcept(yooRoot, LaunchRequiredYooPackages);
            // 写入空的 Buildin 包列表,运行时所有包走纯 CacheFileSystem
            // 写入随包 Package 列表,运行时 Builtin/Dll 创建 BuildinFileSystem,其它包走 CacheFileSystem
            YooAssetBuildTool.WriteBuildinPackageList();
            for (int i = 0; i < smallPackages.Count; i++)
Assets/Editor/Tool/ClientPackage_Standalone.cs
@@ -29,6 +29,20 @@
        return file.Name.EndsWith("OPConfig.txt", StringComparison.OrdinalIgnoreCase);
    }
    static bool IsBuiltinFile(FileInfo file)
    {
        if (file.FullName.IndexOf("builtin", StringComparison.OrdinalIgnoreCase) >= 0)
            return true;
        foreach (var configName in builtinConfigs)
        {
            if (string.Equals(configName, file.Name, StringComparison.OrdinalIgnoreCase))
                return true;
        }
        return false;
    }
    public static int AssetPrior
    {
        get { return LocalSave.GetInt("Standalone_HalfAssetPrior", 1); }
@@ -113,8 +127,7 @@
        FileExtersion.GetAllDirectoryFileInfos(assetPath, files);
        foreach (var file in files)
        {
            var fileName = Path.GetFileName(file.FullName);
            if (file.FullName.Contains("builtin") || builtinConfigs.Contains(fileName))
            if (IsBuiltinFile(file))
            {
                builtInFiles.Add(file);
            }
Assets/Editor/YooAsset/AddressByRelativePath.cs
@@ -4,6 +4,7 @@
// 避免同目录下同名不同扩展名文件的地址冲突
// ============================================================================
using System;
using System.IO;
using YooAsset.Editor;
@@ -20,20 +21,23 @@
{
    string IAddressRule.GetAssetAddress(AddressRuleData data)
    {
        // 去掉 CollectPath 前缀,得到相对路径
        string relativePath = data.AssetPath;
        string collectRoot = data.CollectPath;
        string assetPath = NormalizeAssetPath(data.AssetPath);
        string collectPath = NormalizeAssetPath(data.CollectPath).TrimEnd('/');
        // 确保以 / 结尾
        if (!collectRoot.EndsWith("/"))
            collectRoot += "/";
        if (assetPath.Equals(collectPath, StringComparison.OrdinalIgnoreCase))
            return Path.GetFileName(assetPath);
        if (relativePath.StartsWith(collectRoot))
        string collectRoot = collectPath + "/";
        if (assetPath.StartsWith(collectRoot, StringComparison.OrdinalIgnoreCase))
        {
            relativePath = relativePath.Substring(collectRoot.Length);
            return assetPath.Substring(collectRoot.Length);
        }
        // 保留扩展名,避免同名不同类型文件地址冲突
        return relativePath;
        return Path.GetFileName(assetPath);
    }
    private static string NormalizeAssetPath(string assetPath)
    {
        return string.IsNullOrEmpty(assetPath) ? string.Empty : assetPath.Replace('\\', '/');
    }
}
Assets/Editor/YooAsset/YooAssetBuildTool.cs
@@ -406,6 +406,8 @@
    /// </summary>
    public static bool BuildAllPackagesCore(bool incremental)
    {
        CollectResBeforeUpdate.SyncCollectors();
        // ---- 打包前:HybridCLR DLL(增量模式跳过)----
        if (!incremental)
        {