ReferencePoolInfo.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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;
  8. using System.Runtime.InteropServices;
  9. namespace GameFramework
  10. {
  11. /// <summary>
  12. /// 引用池信息。
  13. /// </summary>
  14. [StructLayout(LayoutKind.Auto)]
  15. public struct ReferencePoolInfo
  16. {
  17. private readonly Type m_Type;
  18. private readonly int m_UnusedReferenceCount;
  19. private readonly int m_UsingReferenceCount;
  20. private readonly int m_AcquireReferenceCount;
  21. private readonly int m_ReleaseReferenceCount;
  22. private readonly int m_AddReferenceCount;
  23. private readonly int m_RemoveReferenceCount;
  24. /// <summary>
  25. /// 初始化引用池信息的新实例。
  26. /// </summary>
  27. /// <param name="type">引用池类型。</param>
  28. /// <param name="unusedReferenceCount">未使用引用数量。</param>
  29. /// <param name="usingReferenceCount">正在使用引用数量。</param>
  30. /// <param name="acquireReferenceCount">获取引用数量。</param>
  31. /// <param name="releaseReferenceCount">归还引用数量。</param>
  32. /// <param name="addReferenceCount">增加引用数量。</param>
  33. /// <param name="removeReferenceCount">移除引用数量。</param>
  34. public ReferencePoolInfo(Type type, int unusedReferenceCount, int usingReferenceCount, int acquireReferenceCount, int releaseReferenceCount, int addReferenceCount, int removeReferenceCount)
  35. {
  36. m_Type = type;
  37. m_UnusedReferenceCount = unusedReferenceCount;
  38. m_UsingReferenceCount = usingReferenceCount;
  39. m_AcquireReferenceCount = acquireReferenceCount;
  40. m_ReleaseReferenceCount = releaseReferenceCount;
  41. m_AddReferenceCount = addReferenceCount;
  42. m_RemoveReferenceCount = removeReferenceCount;
  43. }
  44. /// <summary>
  45. /// 获取引用池类型。
  46. /// </summary>
  47. public Type Type
  48. {
  49. get
  50. {
  51. return m_Type;
  52. }
  53. }
  54. /// <summary>
  55. /// 获取未使用引用数量。
  56. /// </summary>
  57. public int UnusedReferenceCount
  58. {
  59. get
  60. {
  61. return m_UnusedReferenceCount;
  62. }
  63. }
  64. /// <summary>
  65. /// 获取正在使用引用数量。
  66. /// </summary>
  67. public int UsingReferenceCount
  68. {
  69. get
  70. {
  71. return m_UsingReferenceCount;
  72. }
  73. }
  74. /// <summary>
  75. /// 获取获取引用数量。
  76. /// </summary>
  77. public int AcquireReferenceCount
  78. {
  79. get
  80. {
  81. return m_AcquireReferenceCount;
  82. }
  83. }
  84. /// <summary>
  85. /// 获取归还引用数量。
  86. /// </summary>
  87. public int ReleaseReferenceCount
  88. {
  89. get
  90. {
  91. return m_ReleaseReferenceCount;
  92. }
  93. }
  94. /// <summary>
  95. /// 获取增加引用数量。
  96. /// </summary>
  97. public int AddReferenceCount
  98. {
  99. get
  100. {
  101. return m_AddReferenceCount;
  102. }
  103. }
  104. /// <summary>
  105. /// 获取移除引用数量。
  106. /// </summary>
  107. public int RemoveReferenceCount
  108. {
  109. get
  110. {
  111. return m_RemoveReferenceCount;
  112. }
  113. }
  114. }
  115. }