PackageAsset.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System;
  2. using System.Linq;
  3. namespace YooAsset
  4. {
  5. [Serializable]
  6. internal class PackageAsset
  7. {
  8. /// <summary>
  9. /// 可寻址地址
  10. /// </summary>
  11. public string Address;
  12. /// <summary>
  13. /// 资源路径
  14. /// </summary>
  15. public string AssetPath;
  16. /// <summary>
  17. /// 资源GUID
  18. /// </summary>
  19. public string AssetGUID;
  20. /// <summary>
  21. /// 资源的分类标签
  22. /// </summary>
  23. public string[] AssetTags;
  24. /// <summary>
  25. /// 所属资源包ID
  26. /// </summary>
  27. public int BundleID;
  28. /// <summary>
  29. /// 依赖的资源包ID集合
  30. /// 说明:框架层收集查询结果
  31. /// </summary>
  32. public int[] DependBundleIDs;
  33. /// <summary>
  34. /// 临时数据对象(仅编辑器有效)
  35. /// </summary>
  36. [NonSerialized]
  37. public object TempDataInEditor;
  38. /// <summary>
  39. /// 是否包含Tag
  40. /// </summary>
  41. public bool HasTag(string[] tags)
  42. {
  43. if (tags == null || tags.Length == 0)
  44. return false;
  45. if (AssetTags == null || AssetTags.Length == 0)
  46. return false;
  47. foreach (var tag in tags)
  48. {
  49. if (AssetTags.Contains(tag))
  50. return true;
  51. }
  52. return false;
  53. }
  54. }
  55. }