mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-23 03:04:29 +08:00
- 实现了 [GetNode] 属性用于标记 Godot 节点字段 - 创建了 GetNodeGenerator 源代码生成器自动注入节点获取逻辑 - 添加了节点路径推导和多种查找模式支持 - 集成了生成器到 Godot 脚手架模板中 - 添加了完整的诊断规则和错误提示 - 创建了单元测试验证生成器功能 - 更新了解决方案配置以包含新的测试项目 - 在 README 中添加了详细的使用文档和示例代码
97 lines
2.2 KiB
C#
97 lines
2.2 KiB
C#
// meta-name: UI页面控制器类模板
|
||
// meta-description: 负责管理UI页面场景的生命周期和架构关联
|
||
using Godot;
|
||
using GFramework.Core.Abstractions.Controller;
|
||
using GFramework.Core.Extensions;
|
||
using GFramework.Game.Abstractions.UI;
|
||
using GFramework.Godot.UI;
|
||
using GFramework.Godot.SourceGenerators.Abstractions;
|
||
using GFramework.SourceGenerators.Abstractions.Logging;
|
||
using GFramework.SourceGenerators.Abstractions.Rule;
|
||
|
||
|
||
[ContextAware]
|
||
[Log]
|
||
public partial class _CLASS_ :_BASE_,IController,IUiPageBehaviorProvider,IUiPage
|
||
{
|
||
/// <summary>
|
||
/// 节点准备就绪时的回调方法
|
||
/// 在节点添加到场景树后调用
|
||
/// </summary>
|
||
public override void _Ready()
|
||
{
|
||
__InjectGetNodes_Generated();
|
||
OnReadyAfterGetNode();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 节点注入完成后的初始化钩子。
|
||
/// </summary>
|
||
private void OnReadyAfterGetNode()
|
||
{
|
||
}
|
||
/// <summary>
|
||
/// 页面行为实例的私有字段
|
||
/// </summary>
|
||
private IUiPageBehavior? _page;
|
||
|
||
/// <summary>
|
||
/// 获取页面行为实例,如果不存在则创建新的CanvasItemUiPageBehavior实例
|
||
/// </summary>
|
||
/// <returns>返回IUiPageBehavior类型的页面行为实例</returns>
|
||
public IUiPageBehavior GetPage()
|
||
{
|
||
_page ??= new CanvasItemUiPageBehavior<_BASE_>(this);
|
||
return _page;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 页面进入时调用的方法
|
||
/// </summary>
|
||
/// <param name="param">页面进入参数,可能为空</param>
|
||
public void OnEnter(IUiPageEnterParam? param)
|
||
{
|
||
|
||
}
|
||
/// <summary>
|
||
/// 页面退出时调用的方法
|
||
/// </summary>
|
||
public void OnExit()
|
||
{
|
||
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 页面暂停时调用的方法
|
||
/// </summary>
|
||
public void OnPause()
|
||
{
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 页面恢复时调用的方法
|
||
/// </summary>
|
||
public void OnResume()
|
||
{
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 页面显示时调用的方法
|
||
/// </summary>
|
||
public void OnShow()
|
||
{
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 页面隐藏时调用的方法
|
||
/// </summary>
|
||
public void OnHide()
|
||
{
|
||
|
||
}
|
||
}
|