【m】测试

This commit is contained in:
2025-07-22 16:08:43 +08:00
parent b068422bed
commit 8a1b341cfc
3 changed files with 148 additions and 93 deletions

View File

@@ -495,39 +495,7 @@ namespace Stary.Evo.Editor
Debug.Log(
$"UnityEvo:【{packageName}】VariantCount : {collection.variantCount}");
string groupname = "ShaderVariants";
AssetBundleCollectorGroup collectorGroup = null;
if (collectorGroupDic.ContainsKey(groupname))
{
collectorGroupDic[groupname].Collectors.Clear();
collectorGroup = collectorGroupDic[groupname];
}
else
{
foreach (var package in AssetBundleCollectorSettingData.Setting.Packages)
{
if (package.PackageName == packageName)
{
collectorGroup =
YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(package, "ShaderVariants");
}
}
}
var guid = AssetDatabase.AssetPathToGUID(localSavePath);
AssetBundleCollector collector = new AssetBundleCollector()
{
CollectPath = localSavePath,
CollectorGUID = guid,
CollectorType = ECollectorType.MainAssetCollector,
AddressRuleName = nameof(AddressByFolderAndFileName),
PackRuleName = nameof(PackShaderVariants),
FilterRuleName = nameof(CollectShaderVariants),
AssetTags = groupname,
};
YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(collectorGroup, collector);
YooAsset.Editor.AssetBundleCollectorSettingData.SaveFile();
CreateShaderVariantsGroup(packageName, localSavePath);
}
else
{
@@ -536,5 +504,37 @@ namespace Stary.Evo.Editor
};
ShaderVariantCollector.Run(localSavePath, packageName, 1000, completedCallback);
}
// 新增方法创建独立的ShaderVariants分组防止多个package冲突
private static void CreateShaderVariantsGroup(string packageName, string localSavePath)
{
string groupname = $"ShaderVariants_{packageName}";
AssetBundleCollectorGroup collectorGroup = null;
// 查找或创建package专属分组
foreach (var package in AssetBundleCollectorSettingData.Setting.Packages)
{
if (package.PackageName == packageName)
{
collectorGroup = YooAsset.Editor.AssetBundleCollectorSettingData.CreateGroup(package, groupname);
break;
}
}
var guid = AssetDatabase.AssetPathToGUID(localSavePath);
AssetBundleCollector collector = new AssetBundleCollector()
{
CollectPath = localSavePath,
CollectorGUID = guid,
CollectorType = ECollectorType.MainAssetCollector,
AddressRuleName = nameof(AddressByFolderAndFileName),
PackRuleName = nameof(PackShaderVariants),
FilterRuleName = nameof(CollectShaderVariants),
AssetTags = groupname,
};
YooAsset.Editor.AssetBundleCollectorSettingData.CreateCollector(collectorGroup, collector);
YooAsset.Editor.AssetBundleCollectorSettingData.SaveFile();
}
}
}