// Copyright (c) 2025-2026 GeWuYou // SPDX-License-Identifier: Apache-2.0 using GFramework.Core.Abstractions.Architectures; namespace GFramework.Core.Architectures; /// /// 基于 GameContext 的默认上下文提供者。 /// 默认只面向当前活动上下文工作,而不是维护多个并存的全局上下文。 /// public sealed class GameContextProvider : IArchitectureContextProvider { /// /// 获取当前的架构上下文。 /// /// 架构上下文实例 /// 当前没有已绑定的活动架构上下文时抛出。 public IArchitectureContext GetContext() { return GameContext.GetFirstArchitectureContext(); } /// /// 尝试获取指定类型的架构上下文。 /// 若当前活动上下文本身兼容 ,则无需显式类型别名也会返回成功。 /// /// 架构上下文类型 /// 输出的上下文实例 /// 如果成功获取则返回true,否则返回false public bool TryGetContext(out T? context) where T : class, IArchitectureContext { return GameContext.TryGet(out context); } }