LoadResourceAgentHelperBase.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 loyalsoft. All rights reserved.
  4. // Homepage: http://www.game7000.com/
  5. // Feedback: http://www.game7000.com/
  6. //------------------------------------------------------------
  7. using GameFramework.FileSystem;
  8. using GameFramework.Resource;
  9. using System;
  10. using UnityEngine;
  11. namespace UnityGameFramework.Runtime
  12. {
  13. /// <summary>
  14. /// 加载资源代理辅助器基类。
  15. /// </summary>
  16. public abstract class LoadResourceAgentHelperBase : MonoBehaviour, ILoadResourceAgentHelper
  17. {
  18. /// <summary>
  19. /// 加载资源代理辅助器异步加载资源更新事件。
  20. /// </summary>
  21. public abstract event EventHandler<LoadResourceAgentHelperUpdateEventArgs> LoadResourceAgentHelperUpdate;
  22. /// <summary>
  23. /// 加载资源代理辅助器异步读取资源文件完成事件。
  24. /// </summary>
  25. public abstract event EventHandler<LoadResourceAgentHelperReadFileCompleteEventArgs> LoadResourceAgentHelperReadFileComplete;
  26. /// <summary>
  27. /// 加载资源代理辅助器异步读取资源二进制流完成事件。
  28. /// </summary>
  29. public abstract event EventHandler<LoadResourceAgentHelperReadBytesCompleteEventArgs> LoadResourceAgentHelperReadBytesComplete;
  30. /// <summary>
  31. /// 加载资源代理辅助器异步将资源二进制流转换为加载对象完成事件。
  32. /// </summary>
  33. public abstract event EventHandler<LoadResourceAgentHelperParseBytesCompleteEventArgs> LoadResourceAgentHelperParseBytesComplete;
  34. /// <summary>
  35. /// 加载资源代理辅助器异步加载资源完成事件。
  36. /// </summary>
  37. public abstract event EventHandler<LoadResourceAgentHelperLoadCompleteEventArgs> LoadResourceAgentHelperLoadComplete;
  38. /// <summary>
  39. /// 加载资源代理辅助器错误事件。
  40. /// </summary>
  41. public abstract event EventHandler<LoadResourceAgentHelperErrorEventArgs> LoadResourceAgentHelperError;
  42. /// <summary>
  43. /// 通过加载资源代理辅助器开始异步读取资源文件。
  44. /// </summary>
  45. /// <param name="fullPath">要加载资源的完整路径名。</param>
  46. public abstract void ReadFile(string fullPath);
  47. /// <summary>
  48. /// 通过加载资源代理辅助器开始异步读取资源文件。
  49. /// </summary>
  50. /// <param name="fileSystem">要加载资源的文件系统。</param>
  51. /// <param name="name">要加载资源的名称。</param>
  52. public abstract void ReadFile(IFileSystem fileSystem, string name);
  53. /// <summary>
  54. /// 通过加载资源代理辅助器开始异步读取资源二进制流。
  55. /// </summary>
  56. /// <param name="fullPath">要加载资源的完整路径名。</param>
  57. public abstract void ReadBytes(string fullPath);
  58. /// <summary>
  59. /// 通过加载资源代理辅助器开始异步读取资源二进制流。
  60. /// </summary>
  61. /// <param name="fileSystem">要加载资源的文件系统。</param>
  62. /// <param name="name">要加载资源的名称。</param>
  63. public abstract void ReadBytes(IFileSystem fileSystem, string name);
  64. /// <summary>
  65. /// 通过加载资源代理辅助器开始异步将资源二进制流转换为加载对象。
  66. /// </summary>
  67. /// <param name="bytes">要加载资源的二进制流。</param>
  68. public abstract void ParseBytes(byte[] bytes);
  69. /// <summary>
  70. /// 通过加载资源代理辅助器开始异步加载资源。
  71. /// </summary>
  72. /// <param name="resource">资源。</param>
  73. /// <param name="assetName">要加载的资源名称。</param>
  74. /// <param name="assetType">要加载资源的类型。</param>
  75. /// <param name="isScene">要加载的资源是否是场景。</param>
  76. public abstract void LoadAsset(object resource, string assetName, Type assetType, bool isScene);
  77. /// <summary>
  78. /// 重置加载资源代理辅助器。
  79. /// </summary>
  80. public abstract void Reset();
  81. }
  82. }