Newer
Older
DungeonShooting / DungeonShooting_Godot / src / framework / ui / IUiNode.cs
@小李xl 小李xl on 13 Aug 2023 1 KB 创建房间标记, 开发中
  1.  
  2. using Godot;
  3.  
  4. /// <summary>
  5. /// Ui节点接口
  6. /// </summary>
  7. public interface IUiNode
  8. {
  9. /// <summary>
  10. /// 嵌套打开子ui
  11. /// </summary>
  12. UiBase OpenNestedUi(string uiName, UiBase prevUi = null);
  13.  
  14. /// <summary>
  15. /// 嵌套打开子ui
  16. /// </summary>
  17. T OpenNestedUi<T>(string uiName, UiBase prevUi = null) where T : UiBase;
  18. /// <summary>
  19. /// 获取所属Ui面板
  20. /// </summary>
  21. UiBase GetUiPanel();
  22. /// <summary>
  23. /// 获取Ui实例
  24. /// </summary>
  25. Node GetUiInstance();
  26.  
  27. /// <summary>
  28. /// 获取克隆的Ui实例
  29. /// </summary>
  30. IUiCellNode CloneUiCell();
  31.  
  32. /// <summary>
  33. /// 添加子级Ui节点
  34. /// </summary>
  35. void AddChild(IUiNode uiNode);
  36. /// <summary>
  37. /// 添加子级Ui节点
  38. /// </summary>
  39. void AddChild(Node node);
  40.  
  41. /// <summary>
  42. /// 移除子级Ui节点
  43. /// </summary>
  44. void RemoveChild(IUiNode uiNode);
  45. /// <summary>
  46. /// 移除子级Ui节点
  47. /// </summary>
  48. void RemoveChild(Node node);
  49.  
  50. /// <summary>
  51. /// 销毁当前节点
  52. /// </summary>
  53. void QueueFree();
  54.  
  55. /// <summary>
  56. /// 更改父节点, 但是当前节点的父节点不能为空
  57. /// </summary>
  58. void Reparent(IUiNode uiNode);
  59. /// <summary>
  60. /// 更改父节点, 但是当前节点的父节点不能为空
  61. /// </summary>
  62. void Reparent(Node node);
  63.  
  64. /// <summary>
  65. /// 获取父节点
  66. /// </summary>
  67. Node GetParent();
  68. }