Unity 框架

UIResourceAttribute.cs 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. namespace TFramework
  6. {
  7. /// <summary>
  8. /// UI资源标记
  9. /// </summary>
  10. public class UIResourceAttribute : Attribute
  11. {
  12. public ResLoadMode LoadMode { get; private set; }
  13. public string ResourcePath { get; private set; }
  14. public string AssetBundleName { get; private set; }
  15. public string AssetPath { get; private set; }
  16. public string WorlUIDomain { get; private set; }
  17. /// <summary>
  18. /// UI资源标记
  19. /// </summary>
  20. /// <param name="resourcePath">资源的Resource路径</param>
  21. /// <param name="assetBundleName">资源的AB包名字</param>
  22. /// <param name="assetPath">资源相对路径</param>
  23. /// <param name="loadMode">加载模式</param>
  24. /// <param name="canvasType">UI挂载Canvas类型</param>
  25. /// <param name="worldUIDomain">世界UI作用域</param>
  26. public UIResourceAttribute(string resourcePath, string assetBundleName, string assetPath, ResLoadMode loadMode,string worldUIDomain)
  27. {
  28. LoadMode = loadMode;
  29. ResourcePath = resourcePath;
  30. AssetBundleName = assetBundleName;
  31. AssetPath = assetPath;
  32. WorlUIDomain = worldUIDomain;
  33. }
  34. public UIResourceAttribute(string resourcePath, string worldUIDomain)
  35. {
  36. LoadMode = ResLoadMode.Resourece;
  37. ResourcePath = resourcePath;
  38. AssetBundleName = "";
  39. AssetPath = "";
  40. WorlUIDomain = worldUIDomain;
  41. }
  42. public UIResourceAttribute(string assetBundleName, string assetPath, string worldUIDomain)
  43. {
  44. LoadMode = ResLoadMode.AssetBundle;
  45. ResourcePath = "";
  46. AssetBundleName = assetBundleName;
  47. AssetPath = assetPath;
  48. WorlUIDomain = worldUIDomain;
  49. }
  50. }
  51. }