BundleInfo.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. 
  2. namespace YooAsset
  3. {
  4. internal class BundleInfo
  5. {
  6. public enum ELoadMode
  7. {
  8. None,
  9. LoadFromStreaming,
  10. LoadFromCache,
  11. LoadFromRemote,
  12. LoadFromEditor,
  13. }
  14. public readonly PackageBundle Bundle;
  15. public readonly ELoadMode LoadMode;
  16. /// <summary>
  17. /// 远端下载地址
  18. /// </summary>
  19. public string RemoteMainURL { private set; get; }
  20. /// <summary>
  21. /// 远端下载备用地址
  22. /// </summary>
  23. public string RemoteFallbackURL { private set; get; }
  24. /// <summary>
  25. /// 注意:该字段只用于帮助编辑器下的模拟模式。
  26. /// </summary>
  27. public string[] IncludeAssets;
  28. private BundleInfo()
  29. {
  30. }
  31. public BundleInfo(PackageBundle bundle, ELoadMode loadMode, string mainURL, string fallbackURL)
  32. {
  33. Bundle = bundle;
  34. LoadMode = loadMode;
  35. RemoteMainURL = mainURL;
  36. RemoteFallbackURL = fallbackURL;
  37. }
  38. public BundleInfo(PackageBundle bundle, ELoadMode loadMode)
  39. {
  40. Bundle = bundle;
  41. LoadMode = loadMode;
  42. RemoteMainURL = string.Empty;
  43. RemoteFallbackURL = string.Empty;
  44. }
  45. /// <summary>
  46. /// 是否为JAR包内文件
  47. /// </summary>
  48. public static bool IsBuildinJarFile(string streamingPath)
  49. {
  50. return streamingPath.StartsWith("jar:");
  51. }
  52. }
  53. }