IUIForm.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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.UI
  8. {
  9. /// <summary>
  10. /// 界面接口。
  11. /// </summary>
  12. public interface IUIForm
  13. {
  14. /// <summary>
  15. /// 获取界面序列编号。
  16. /// </summary>
  17. int SerialId
  18. {
  19. get;
  20. }
  21. /// <summary>
  22. /// 获取界面资源名称。
  23. /// </summary>
  24. string UIFormAssetName
  25. {
  26. get;
  27. }
  28. /// <summary>
  29. /// 获取界面实例。
  30. /// </summary>
  31. object Handle
  32. {
  33. get;
  34. }
  35. /// <summary>
  36. /// 获取界面所属的界面组。
  37. /// </summary>
  38. IUIGroup UIGroup
  39. {
  40. get;
  41. }
  42. /// <summary>
  43. /// 获取界面在界面组中的深度。
  44. /// </summary>
  45. int DepthInUIGroup
  46. {
  47. get;
  48. }
  49. /// <summary>
  50. /// 获取是否暂停被覆盖的界面。
  51. /// </summary>
  52. bool PauseCoveredUIForm
  53. {
  54. get;
  55. }
  56. /// <summary>
  57. /// 初始化界面。
  58. /// </summary>
  59. /// <param name="serialId">界面序列编号。</param>
  60. /// <param name="uiFormAssetName">界面资源名称。</param>
  61. /// <param name="uiGroup">界面所属的界面组。</param>
  62. /// <param name="pauseCoveredUIForm">是否暂停被覆盖的界面。</param>
  63. /// <param name="isNewInstance">是否是新实例。</param>
  64. /// <param name="userData">用户自定义数据。</param>
  65. void OnInit(int serialId, string uiFormAssetName, IUIGroup uiGroup, bool pauseCoveredUIForm, bool isNewInstance, object userData);
  66. /// <summary>
  67. /// 界面回收。
  68. /// </summary>
  69. void OnRecycle();
  70. /// <summary>
  71. /// 界面打开。
  72. /// </summary>
  73. /// <param name="userData">用户自定义数据。</param>
  74. void OnOpen(object userData);
  75. /// <summary>
  76. /// 界面关闭。
  77. /// </summary>
  78. /// <param name="isShutdown">是否是关闭界面管理器时触发。</param>
  79. /// <param name="userData">用户自定义数据。</param>
  80. void OnClose(bool isShutdown, object userData);
  81. /// <summary>
  82. /// 界面暂停。
  83. /// </summary>
  84. void OnPause();
  85. /// <summary>
  86. /// 界面暂停恢复。
  87. /// </summary>
  88. void OnResume();
  89. /// <summary>
  90. /// 界面遮挡。
  91. /// </summary>
  92. void OnCover();
  93. /// <summary>
  94. /// 界面遮挡恢复。
  95. /// </summary>
  96. void OnReveal();
  97. /// <summary>
  98. /// 界面激活。
  99. /// </summary>
  100. /// <param name="userData">用户自定义数据。</param>
  101. void OnRefocus(object userData);
  102. /// <summary>
  103. /// 界面轮询。
  104. /// </summary>
  105. /// <param name="elapseSeconds">逻辑流逝时间,以秒为单位。</param>
  106. /// <param name="realElapseSeconds">真实流逝时间,以秒为单位。</param>
  107. void OnUpdate(float elapseSeconds, float realElapseSeconds);
  108. /// <summary>
  109. /// 界面深度改变。
  110. /// </summary>
  111. /// <param name="uiGroupDepth">界面组深度。</param>
  112. /// <param name="depthInUIGroup">界面在界面组中的深度。</param>
  113. void OnDepthChanged(int uiGroupDepth, int depthInUIGroup);
  114. }
  115. }