// ============================================================================
|
// AddressByFolderAndFileNameWithExt.cs — 自定义 YooAsset 地址规则
|
// 使用 "目录名_文件名(含扩展名)" 作为地址
|
// 避免同目录下同名不同扩展名文件的地址冲突
|
// ============================================================================
|
|
using System.IO;
|
using YooAsset.Editor;
|
|
/// <summary>
|
/// 定位地址 = 文件所在目录名 + "_" + 文件名(含扩展名)。
|
/// 例如 AssetPath = "Assets/ResourcesOut/UIEffect/BattleSpine/510013_Wei/attack_SkeletonData.asset"
|
/// → 地址 = "510013_Wei_attack_SkeletonData.asset"
|
/// 与内置 AddressByFolderAndFileName 的区别:保留文件扩展名,避免
|
/// 同目录下 .asset / .png 等同基础名文件的地址冲突。
|
/// </summary>
|
[DisplayName("定位地址: 文件夹名+文件名(含扩展名)")]
|
public class AddressByFolderAndFileNameWithExt : IAddressRule
|
{
|
string IAddressRule.GetAssetAddress(AddressRuleData data)
|
{
|
string fileName = Path.GetFileName(data.AssetPath);
|
FileInfo fileInfo = new FileInfo(data.AssetPath);
|
return $"{fileInfo.Directory.Name}_{fileName}";
|
}
|
}
|