// 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.SourceGenerators.Abstractions.Logging;
using GFramework.SourceGenerators.Abstractions.Rule;
[ContextAware]
[Log]
public partial class _CLASS_ :_BASE_,IController,IUiPageBehaviorProvider,IUiPage
{
///
/// 节点准备就绪时的回调方法
/// 在节点添加到场景树后调用
///
public override void _Ready()
{
}
///
/// 页面行为实例的私有字段
///
private IUiPageBehavior? _page;
///
/// 获取页面行为实例,如果不存在则创建新的CanvasItemUiPageBehavior实例
///
/// 返回IUiPageBehavior类型的页面行为实例
public IUiPageBehavior GetPage()
{
_page ??= new CanvasItemUiPageBehavior<_BASE_>(this);
return _page;
}
///
/// 页面进入时调用的方法
///
/// 页面进入参数,可能为空
public void OnEnter(IUiPageEnterParam? param)
{
}
///
/// 页面退出时调用的方法
///
public void OnExit()
{
}
///
/// 页面暂停时调用的方法
///
public void OnPause()
{
}
///
/// 页面恢复时调用的方法
///
public void OnResume()
{
}
///
/// 页面显示时调用的方法
///
public void OnShow()
{
}
///
/// 页面隐藏时调用的方法
///
public void OnHide()
{
}
}