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 的唯一标识键。