GFramework/Godot/script_templates/Node/PageControllerTemplate.cs
gewuyou ff553977e3 chore(license): 补齐 Apache-2.0 文件头治理
- 新增许可证文件头检查与修复脚本

- 补充维护者手动修复 PR 工作流和 CI 校验

- 更新贡献指南中的文件头说明

- 补齐仓库维护源码和配置文件的许可证声明
2026-05-03 19:39:49 +08:00

100 lines
2.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Copyright (c) 2025-2026 GeWuYou
// SPDX-License-Identifier: Apache-2.0
// 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.Core.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()
{
}
}