DefaultAddressRule.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System.IO;
  2. namespace YooAsset.Editor
  3. {
  4. [DisplayName("定位地址: 文件名")]
  5. public class AddressByFileName : IAddressRule
  6. {
  7. string IAddressRule.GetAssetAddress(AddressRuleData data)
  8. {
  9. return Path.GetFileNameWithoutExtension(data.AssetPath);
  10. }
  11. }
  12. [DisplayName("定位地址: 文件路径")]
  13. public class AddressByFilePath : IAddressRule
  14. {
  15. string IAddressRule.GetAssetAddress(AddressRuleData data)
  16. {
  17. return data.AssetPath;
  18. }
  19. }
  20. [DisplayName("定位地址: 分组名_文件名")]
  21. public class AddressByGroupAndFileName : IAddressRule
  22. {
  23. string IAddressRule.GetAssetAddress(AddressRuleData data)
  24. {
  25. string fileName = Path.GetFileNameWithoutExtension(data.AssetPath);
  26. return $"{data.GroupName}_{fileName}";
  27. }
  28. }
  29. [DisplayName("定位地址: 文件夹名_文件名")]
  30. public class AddressByFolderAndFileName : IAddressRule
  31. {
  32. string IAddressRule.GetAssetAddress(AddressRuleData data)
  33. {
  34. string fileName = Path.GetFileNameWithoutExtension(data.AssetPath);
  35. FileInfo fileInfo = new FileInfo(data.AssetPath);
  36. return $"{fileInfo.Directory.Name}_{fileName}";
  37. }
  38. }
  39. }