UIManager.UIGroup.UIFormInfo.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. internal sealed partial class UIManager : GameFrameworkModule, IUIManager
  10. {
  11. private sealed partial class UIGroup : IUIGroup
  12. {
  13. /// <summary>
  14. /// 界面组界面信息。
  15. /// </summary>
  16. private sealed class UIFormInfo : IReference
  17. {
  18. private IUIForm m_UIForm;
  19. private bool m_Paused;
  20. private bool m_Covered;
  21. public UIFormInfo()
  22. {
  23. m_UIForm = null;
  24. m_Paused = false;
  25. m_Covered = false;
  26. }
  27. public IUIForm UIForm
  28. {
  29. get
  30. {
  31. return m_UIForm;
  32. }
  33. }
  34. public bool Paused
  35. {
  36. get
  37. {
  38. return m_Paused;
  39. }
  40. set
  41. {
  42. m_Paused = value;
  43. }
  44. }
  45. public bool Covered
  46. {
  47. get
  48. {
  49. return m_Covered;
  50. }
  51. set
  52. {
  53. m_Covered = value;
  54. }
  55. }
  56. public static UIFormInfo Create(IUIForm uiForm)
  57. {
  58. if (uiForm == null)
  59. {
  60. throw new GameFrameworkException("UI form is invalid.");
  61. }
  62. UIFormInfo uiFormInfo = ReferencePool.Acquire<UIFormInfo>();
  63. uiFormInfo.m_UIForm = uiForm;
  64. uiFormInfo.m_Paused = true;
  65. uiFormInfo.m_Covered = true;
  66. return uiFormInfo;
  67. }
  68. public void Clear()
  69. {
  70. m_UIForm = null;
  71. m_Paused = false;
  72. m_Covered = false;
  73. }
  74. }
  75. }
  76. }
  77. }