-
- using Godot;
-
- /// <summary>
- /// Ui节点接口
- /// </summary>
- public interface IUiNode
- {
- /// <summary>
- /// 嵌套打开子ui
- /// </summary>
- UiBase OpenNestedUi(string uiName, UiBase prevUi = null);
-
- /// <summary>
- /// 嵌套打开子ui
- /// </summary>
- T OpenNestedUi<T>(string uiName, UiBase prevUi = null) where T : UiBase;
-
- /// <summary>
- /// 获取所属Ui面板
- /// </summary>
- UiBase GetUiPanel();
-
- /// <summary>
- /// 获取Ui实例
- /// </summary>
- Node GetUiInstance();
-
- /// <summary>
- /// 获取克隆的Ui实例
- /// </summary>
- IUiCellNode CloneUiCell();
-
- /// <summary>
- /// 添加子级Ui节点
- /// </summary>
- void AddChild(IUiNode uiNode);
-
- /// <summary>
- /// 添加子级Ui节点
- /// </summary>
- void AddChild(Node node);
-
- /// <summary>
- /// 移除子级Ui节点
- /// </summary>
- void RemoveChild(IUiNode uiNode);
-
- /// <summary>
- /// 移除子级Ui节点
- /// </summary>
- void RemoveChild(Node node);
-
- /// <summary>
- /// 销毁当前节点
- /// </summary>
- void QueueFree();
-
- /// <summary>
- /// 更改父节点, 但是当前节点的父节点不能为空
- /// </summary>
- void Reparent(IUiNode uiNode);
-
- /// <summary>
- /// 更改父节点, 但是当前节点的父节点不能为空
- /// </summary>
- void Reparent(Node node);
-
- /// <summary>
- /// 获取父节点
- /// </summary>
- Node GetParent();
- }