From 323976677c85545ab70ef064689f14e57b6e0855 Mon Sep 17 00:00:00 2001
From: GeWuYou <95328647+GeWuYou@users.noreply.github.com>
Date: Sun, 15 Feb 2026 22:00:04 +0800
Subject: [PATCH] =?UTF-8?q?refactor(ui):=20=E5=B0=86View=E5=B1=9E=E6=80=A7?=
=?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=E4=B8=BAOriginal=E4=BB=A5=E7=BB=9F?=
=?UTF-8?q?=E4=B8=80=E6=8E=A5=E5=8F=A3=E8=AE=BE=E8=AE=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 将IUiPageBehavior中的View属性重命名为Original
- 更新UiRouterBase中日志输出使用Original属性替代View属性
- 在ISceneBehavior接口中添加Original属性定义
- 在SceneBehaviorBase实现类中添加Original属性实现
- 在CanvasItemUiPageBehaviorBase中将View属性改为Original属性
- 更新相关注释文档说明Original属性用途
---
GFramework.Game.Abstractions/scene/ISceneBehavior.cs | 6 ++++++
GFramework.Game.Abstractions/ui/IUiPageBehavior.cs | 6 +++---
GFramework.Game/ui/UiRouterBase.cs | 8 ++++----
GFramework.Godot/scene/SceneBehaviorBase.cs | 8 ++++++++
GFramework.Godot/ui/CanvasItemUiPageBehaviorBase.cs | 2 +-
5 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/GFramework.Game.Abstractions/scene/ISceneBehavior.cs b/GFramework.Game.Abstractions/scene/ISceneBehavior.cs
index 820324f..bd3f30b 100644
--- a/GFramework.Game.Abstractions/scene/ISceneBehavior.cs
+++ b/GFramework.Game.Abstractions/scene/ISceneBehavior.cs
@@ -25,6 +25,12 @@ public interface ISceneBehavior
///
string Key { get; }
+ ///
+ /// 获取场景的原始对象。
+ ///
+ object Original { get; }
+
+
///
/// 获取场景是否已加载完成的状态。
/// true表示场景资源已加载,false表示未加载或正在加载中。
diff --git a/GFramework.Game.Abstractions/ui/IUiPageBehavior.cs b/GFramework.Game.Abstractions/ui/IUiPageBehavior.cs
index 8eae2cd..2b48a0e 100644
--- a/GFramework.Game.Abstractions/ui/IUiPageBehavior.cs
+++ b/GFramework.Game.Abstractions/ui/IUiPageBehavior.cs
@@ -40,10 +40,10 @@ public interface IUiPageBehavior
///
- /// 获取页面视图对象。
+ /// 获取原始对象。
///
- /// 页面视图实例。
- object View { get; }
+ /// 原始对象。
+ object Original { get; }
///
diff --git a/GFramework.Game/ui/UiRouterBase.cs b/GFramework.Game/ui/UiRouterBase.cs
index b860cee..e1d0498 100644
--- a/GFramework.Game/ui/UiRouterBase.cs
+++ b/GFramework.Game/ui/UiRouterBase.cs
@@ -576,22 +576,22 @@ public abstract class UiRouterBase : AbstractSystem, IUiRouter
if (_stack.Count > 0)
{
var current = _stack.Peek();
- Log.Debug("Pause current page: {0}", current.View.GetType().Name);
+ Log.Debug("Pause current page: {0}", current.Original.GetType().Name);
current.OnPause();
if (policy == UiTransitionPolicy.Exclusive)
{
- Log.Debug("Suspend current page (Exclusive): {0}", current.View.GetType().Name);
+ Log.Debug("Suspend current page (Exclusive): {0}", current.Original.GetType().Name);
current.OnHide();
}
}
- Log.Debug("Add page to UiRoot: {0}", page.View.GetType().Name);
+ Log.Debug("Add page to UiRoot: {0}", page.Original.GetType().Name);
_uiRoot.AddUiPage(page);
_stack.Push(page);
- Log.Debug("Enter & Show page: {0}, stackAfter={1}", page.View.GetType().Name, _stack.Count);
+ Log.Debug("Enter & Show page: {0}, stackAfter={1}", page.Original.GetType().Name, _stack.Count);
page.OnEnter(param);
page.OnShow();
}
diff --git a/GFramework.Godot/scene/SceneBehaviorBase.cs b/GFramework.Godot/scene/SceneBehaviorBase.cs
index 27dece3..e06395f 100644
--- a/GFramework.Godot/scene/SceneBehaviorBase.cs
+++ b/GFramework.Godot/scene/SceneBehaviorBase.cs
@@ -71,9 +71,17 @@ public abstract class SceneBehaviorBase : ISceneBehavior
///
/// 获取场景的唯一标识键。
+ /// 该属性返回场景的唯一标识符,用于区分不同的场景实例。
///
public string Key => _key;
+ ///
+ /// 获取场景的原始数据对象。
+ /// 该属性返回场景的底层数据对象,通常用于序列化或反序列化操作。
+ ///
+ public object Original => Owner;
+
+
///
/// 获取场景是否已加载完成的状态。
///
diff --git a/GFramework.Godot/ui/CanvasItemUiPageBehaviorBase.cs b/GFramework.Godot/ui/CanvasItemUiPageBehaviorBase.cs
index d94bd23..5ac258c 100644
--- a/GFramework.Godot/ui/CanvasItemUiPageBehaviorBase.cs
+++ b/GFramework.Godot/ui/CanvasItemUiPageBehaviorBase.cs
@@ -98,7 +98,7 @@ public abstract class CanvasItemUiPageBehaviorBase : IUiPageBehavior
///
/// 获取视图节点实例。
///
- public object View => Owner;
+ public object Original => Owner;
///
/// 获取 UI 的唯一标识键。