三国卡牌客户端基础资源仓库
yyl
2026-02-12 b971112ba92ba116a76a6dfbc2dde3a6f3d34095
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// ============================================================================
// 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}";
    }
}