ResourceManager.ResourceUpdater.ApplyInfo.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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 System.Runtime.InteropServices;
  8. namespace GameFramework.Resource
  9. {
  10. internal sealed partial class ResourceManager : GameFrameworkModule, IResourceManager
  11. {
  12. private sealed partial class ResourceUpdater
  13. {
  14. /// <summary>
  15. /// 资源应用信息。
  16. /// </summary>
  17. [StructLayout(LayoutKind.Auto)]
  18. private struct ApplyInfo
  19. {
  20. private readonly ResourceName m_ResourceName;
  21. private readonly string m_FileSystemName;
  22. private readonly LoadType m_LoadType;
  23. private readonly long m_Offset;
  24. private readonly int m_Length;
  25. private readonly int m_HashCode;
  26. private readonly int m_CompressedLength;
  27. private readonly int m_CompressedHashCode;
  28. private readonly string m_ResourcePath;
  29. /// <summary>
  30. /// 初始化资源应用信息的新实例。
  31. /// </summary>
  32. /// <param name="resourceName">资源名称。</param>
  33. /// <param name="fileSystemName">资源所在的文件系统名称。</param>
  34. /// <param name="loadType">资源加载方式。</param>
  35. /// <param name="offset">资源偏移。</param>
  36. /// <param name="length">资源大小。</param>
  37. /// <param name="hashCode">资源哈希值。</param>
  38. /// <param name="compressedLength">压缩后大小。</param>
  39. /// <param name="compressedHashCode">压缩后哈希值。</param>
  40. /// <param name="resourcePath">资源路径。</param>
  41. public ApplyInfo(ResourceName resourceName, string fileSystemName, LoadType loadType, long offset, int length, int hashCode, int compressedLength, int compressedHashCode, string resourcePath)
  42. {
  43. m_ResourceName = resourceName;
  44. m_FileSystemName = fileSystemName;
  45. m_LoadType = loadType;
  46. m_Offset = offset;
  47. m_Length = length;
  48. m_HashCode = hashCode;
  49. m_CompressedLength = compressedLength;
  50. m_CompressedHashCode = compressedHashCode;
  51. m_ResourcePath = resourcePath;
  52. }
  53. /// <summary>
  54. /// 获取资源名称。
  55. /// </summary>
  56. public ResourceName ResourceName
  57. {
  58. get
  59. {
  60. return m_ResourceName;
  61. }
  62. }
  63. /// <summary>
  64. /// 获取资源是否使用文件系统。
  65. /// </summary>
  66. public bool UseFileSystem
  67. {
  68. get
  69. {
  70. return !string.IsNullOrEmpty(m_FileSystemName);
  71. }
  72. }
  73. /// <summary>
  74. /// 获取资源所在的文件系统名称。
  75. /// </summary>
  76. public string FileSystemName
  77. {
  78. get
  79. {
  80. return m_FileSystemName;
  81. }
  82. }
  83. /// <summary>
  84. /// 获取资源加载方式。
  85. /// </summary>
  86. public LoadType LoadType
  87. {
  88. get
  89. {
  90. return m_LoadType;
  91. }
  92. }
  93. /// <summary>
  94. /// 获取资源偏移。
  95. /// </summary>
  96. public long Offset
  97. {
  98. get
  99. {
  100. return m_Offset;
  101. }
  102. }
  103. /// <summary>
  104. /// 获取资源大小。
  105. /// </summary>
  106. public int Length
  107. {
  108. get
  109. {
  110. return m_Length;
  111. }
  112. }
  113. /// <summary>
  114. /// 获取资源哈希值。
  115. /// </summary>
  116. public int HashCode
  117. {
  118. get
  119. {
  120. return m_HashCode;
  121. }
  122. }
  123. /// <summary>
  124. /// 获取压缩后大小。
  125. /// </summary>
  126. public int CompressedLength
  127. {
  128. get
  129. {
  130. return m_CompressedLength;
  131. }
  132. }
  133. /// <summary>
  134. /// 获取压缩后哈希值。
  135. /// </summary>
  136. public int CompressedHashCode
  137. {
  138. get
  139. {
  140. return m_CompressedHashCode;
  141. }
  142. }
  143. /// <summary>
  144. /// 获取资源路径。
  145. /// </summary>
  146. public string ResourcePath
  147. {
  148. get
  149. {
  150. return m_ResourcePath;
  151. }
  152. }
  153. }
  154. }
  155. }
  156. }