mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
- 调整注释格式统一使用4个空格缩进 - 重新排列字段声明顺序提升代码可读性 - 将简单属性访问器改为表达式主体语法 - 优化AudioManagerSystem中音量设置逻辑 - 移除AbstractAssetCatalogSystem中多余空行 - 重构日志类中方法实现为表达式主体形式 - 统一空行分隔符保持代码结构一致性 - 优化方法内部逻辑表达式简化代码 - [no tag]
35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using Godot;
|
||
|
||
namespace GFramework.Godot.architecture;
|
||
|
||
/// <summary>
|
||
/// 架构锚点节点类,用于在Godot场景树中作为架构组件的根节点
|
||
/// 该类提供了退出时的回调绑定功能,可以在节点从场景树中移除时执行清理操作
|
||
/// </summary>
|
||
public partial class ArchitectureAnchor : Node
|
||
{
|
||
private Action? _onExit;
|
||
|
||
/// <summary>
|
||
/// 绑定节点退出时的回调动作
|
||
/// </summary>
|
||
/// <param name="onExit">当节点从场景树退出时要执行的动作</param>
|
||
public void Bind(Action onExit)
|
||
{
|
||
if (_onExit != null)
|
||
GD.PushWarning(
|
||
$"{nameof(ArchitectureAnchor)} already bound. Rebinding will override previous callback.");
|
||
_onExit = onExit;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 当节点从场景树中移除时调用此方法
|
||
/// 执行绑定的退出回调并清理引用
|
||
/// </summary>
|
||
public override void _ExitTree()
|
||
{
|
||
var callback = _onExit;
|
||
_onExit = null;
|
||
callback?.Invoke();
|
||
}
|
||
} |