diff --git a/Assets/YooAsset/Editor/AssetBundleCollector/AssetBundleCollector.cs b/Assets/YooAsset/Editor/AssetBundleCollector/AssetBundleCollector.cs index 718217b..7c3a90a 100644 --- a/Assets/YooAsset/Editor/AssetBundleCollector/AssetBundleCollector.cs +++ b/Assets/YooAsset/Editor/AssetBundleCollector/AssetBundleCollector.cs @@ -155,7 +155,7 @@ namespace YooAsset.Editor string[] findAssets = EditorTools.FindAssets(EAssetSearchType.All, collectDirectory); foreach (string assetPath in findAssets) { - if (IsValidateAsset(command, assetPath) && IsCollectAsset(assetPath)) + if (IsValidateAsset(command, assetPath) && IsCollectAsset(group, assetPath)) { if (result.ContainsKey(assetPath) == false) { @@ -172,7 +172,7 @@ namespace YooAsset.Editor else { string assetPath = CollectPath; - if (IsValidateAsset(command, assetPath) && IsCollectAsset(assetPath)) + if (IsValidateAsset(command, assetPath) && IsCollectAsset(group, assetPath)) { var collectAssetInfo = CreateCollectAssetInfo(command, group, assetPath); result.Add(assetPath, collectAssetInfo); @@ -257,11 +257,11 @@ namespace YooAsset.Editor return true; } - private bool IsCollectAsset(string assetPath) + private bool IsCollectAsset(AssetBundleCollectorGroup group, string assetPath) { // 根据规则设置过滤资源文件 IFilterRule filterRuleInstance = AssetBundleCollectorSettingData.GetFilterRuleInstance(FilterRuleName); - return filterRuleInstance.IsCollectAsset(new FilterRuleData(assetPath)); + return filterRuleInstance.IsCollectAsset(new FilterRuleData(assetPath, CollectPath, group.GroupName, UserData)); } private string GetAddress(CollectCommand command, AssetBundleCollectorGroup group, string assetPath) { diff --git a/Assets/YooAsset/Editor/AssetBundleCollector/CollectRules/IFilterRule.cs b/Assets/YooAsset/Editor/AssetBundleCollector/CollectRules/IFilterRule.cs index 1e36e8a..93ed9cd 100644 --- a/Assets/YooAsset/Editor/AssetBundleCollector/CollectRules/IFilterRule.cs +++ b/Assets/YooAsset/Editor/AssetBundleCollector/CollectRules/IFilterRule.cs @@ -4,10 +4,16 @@ namespace YooAsset.Editor public struct FilterRuleData { public string AssetPath; + public string CollectPath; + public string GroupName; + public string UserData; - public FilterRuleData(string assetPath) + public FilterRuleData(string assetPath, string collectPath, string groupName, string userData) { AssetPath = assetPath; + CollectPath = collectPath; + GroupName = groupName; + UserData = userData; } } diff --git a/Assets/YooAsset/Editor/AssetBundleCollector/CollectRules/IPackRule.cs b/Assets/YooAsset/Editor/AssetBundleCollector/CollectRules/IPackRule.cs index 5effd56..17a8f4e 100644 --- a/Assets/YooAsset/Editor/AssetBundleCollector/CollectRules/IPackRule.cs +++ b/Assets/YooAsset/Editor/AssetBundleCollector/CollectRules/IPackRule.cs @@ -8,13 +8,6 @@ namespace YooAsset.Editor public string GroupName; public string UserData; - public PackRuleData(string assetPath) - { - AssetPath = assetPath; - CollectPath = string.Empty; - GroupName = string.Empty; - UserData = string.Empty; - } public PackRuleData(string assetPath, string collectPath, string groupName, string userData) { AssetPath = assetPath;