IDataProviderHelper.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. namespace GameFramework
  8. {
  9. /// <summary>
  10. /// 数据提供者辅助器接口。
  11. /// </summary>
  12. public interface IDataProviderHelper<T>
  13. {
  14. /// <summary>
  15. /// 读取数据。
  16. /// </summary>
  17. /// <param name="dataProviderOwner">数据提供者的持有者。</param>
  18. /// <param name="dataAssetName">内容资源名称。</param>
  19. /// <param name="dataAsset">内容资源。</param>
  20. /// <param name="userData">用户自定义数据。</param>
  21. /// <returns>是否读取数据成功。</returns>
  22. bool ReadData(T dataProviderOwner, string dataAssetName, object dataAsset, object userData);
  23. /// <summary>
  24. /// 读取数据。
  25. /// </summary>
  26. /// <param name="dataProviderOwner">数据提供者的持有者。</param>
  27. /// <param name="dataAssetName">内容资源名称。</param>
  28. /// <param name="dataBytes">内容二进制流。</param>
  29. /// <param name="startIndex">内容二进制流的起始位置。</param>
  30. /// <param name="length">内容二进制流的长度。</param>
  31. /// <param name="userData">用户自定义数据。</param>
  32. /// <returns>是否读取数据成功。</returns>
  33. bool ReadData(T dataProviderOwner, string dataAssetName, byte[] dataBytes, int startIndex, int length, object userData);
  34. /// <summary>
  35. /// 解析内容。
  36. /// </summary>
  37. /// <param name="dataProviderOwner">数据提供者的持有者。</param>
  38. /// <param name="dataString">要解析的内容字符串。</param>
  39. /// <param name="userData">用户自定义数据。</param>
  40. /// <returns>是否解析内容成功。</returns>
  41. bool ParseData(T dataProviderOwner, string dataString, object userData);
  42. /// <summary>
  43. /// 解析内容。
  44. /// </summary>
  45. /// <param name="dataProviderOwner">数据提供者的持有者。</param>
  46. /// <param name="dataBytes">要解析的内容二进制流。</param>
  47. /// <param name="startIndex">内容二进制流的起始位置。</param>
  48. /// <param name="length">内容二进制流的长度。</param>
  49. /// <param name="userData">用户自定义数据。</param>
  50. /// <returns>是否解析内容成功。</returns>
  51. bool ParseData(T dataProviderOwner, byte[] dataBytes, int startIndex, int length, object userData);
  52. /// <summary>
  53. /// 释放内容资源。
  54. /// </summary>
  55. /// <param name="dataProviderOwner">数据提供者的持有者。</param>
  56. /// <param name="dataAsset">要释放的内容资源。</param>
  57. void ReleaseDataAsset(T dataProviderOwner, object dataAsset);
  58. }
  59. }