diff --git a/Assets/YooAsset/Editor/AssetBundleCollector/DefaultPackRule.cs b/Assets/YooAsset/Editor/AssetBundleCollector/DefaultPackRule.cs
index 00a067b..c8e42c7 100644
--- a/Assets/YooAsset/Editor/AssetBundleCollector/DefaultPackRule.cs
+++ b/Assets/YooAsset/Editor/AssetBundleCollector/DefaultPackRule.cs
@@ -7,9 +7,8 @@ namespace YooAsset.Editor
///
/// 以文件路径作为资源包名
/// 注意:每个文件独自打资源包
- /// 例如:收集器路径为 "Assets/UIPanel"
- /// 例如:"Assets/UIPanel/Shop/Image/backgroud.png" --> "assets/uipanel/shop/image/backgroud.bundle"
- /// 例如:"Assets/UIPanel/Shop/View/main.prefab" --> "assets/uipanel/shop/view/main.bundle"
+ /// 例如:"Assets/UIPanel/Shop/Image/backgroud.png" --> "assets_uipanel_shop_image_backgroud.bundle"
+ /// 例如:"Assets/UIPanel/Shop/View/main.prefab" --> "assets_uipanel_shop_view_main.bundle"
///
public class PackSeparately : IPackRule
{
@@ -23,9 +22,8 @@ namespace YooAsset.Editor
///
/// 以父类文件夹路径作为资源包名
/// 注意:文件夹下所有文件打进一个资源包
- /// 例如:收集器路径为 "Assets/UIPanel"
- /// 例如:"Assets/UIPanel/Shop/Image/backgroud.png" --> "assets/uipanel/shop/image.bundle"
- /// 例如:"Assets/UIPanel/Shop/View/main.prefab" --> "assets/uipanel/shop/view.bundle"
+ /// 例如:"Assets/UIPanel/Shop/Image/backgroud.png" --> "assets_uipanel_shop_image.bundle"
+ /// 例如:"Assets/UIPanel/Shop/View/main.prefab" --> "assets_uipanel_shop_view.bundle"
///
public class PackDirectory : IPackRule
{
@@ -42,8 +40,8 @@ namespace YooAsset.Editor
/// 以收集器路径下顶级文件夹为资源包名
/// 注意:文件夹下所有文件打进一个资源包
/// 例如:收集器路径为 "Assets/UIPanel"
- /// 例如:"Assets/UIPanel/Shop/Image/backgroud.png" --> "assets/uipanel/shop.bundle"
- /// 例如:"Assets/UIPanel/Shop/View/main.prefab" --> "assets/uipanel/shop.bundle"
+ /// 例如:"Assets/UIPanel/Shop/Image/backgroud.png" --> "assets_uipanel_shop.bundle"
+ /// 例如:"Assets/UIPanel/Shop/View/main.prefab" --> "assets_uipanel_shop.bundle"
///
public class PackTopDirectory : IPackRule
{
@@ -74,8 +72,17 @@ namespace YooAsset.Editor
{
string IPackRule.GetBundleName(PackRuleData data)
{
- string bundleName = StringUtility.RemoveExtension(data.CollectPath);
- return EditorTools.GetRegularPath(bundleName).Replace('/', '_');
+ string collectPath = data.CollectPath;
+ if (AssetDatabase.IsValidFolder(collectPath))
+ {
+ string bundleName = collectPath;
+ return EditorTools.GetRegularPath(bundleName).Replace('/', '_');
+ }
+ else
+ {
+ string bundleName = StringUtility.RemoveExtension(collectPath);
+ return EditorTools.GetRegularPath(bundleName).Replace('/', '_');
+ }
}
}