From a4dcb19f8f8663540e347b5c0e4b7dab6b1ac482 Mon Sep 17 00:00:00 2001 From: GeWuYou <95328647+GeWuYou@users.noreply.github.com> Date: Thu, 5 Feb 2026 20:32:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(scene):=20=E6=B7=BB=E5=8A=A0=E5=9C=BA?= =?UTF-8?q?=E6=99=AF=E5=8A=A0=E8=BD=BD=E5=99=A8=E6=8E=A5=E5=8F=A3=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 定义了 ISceneLoader 接口用于管理场景加载、替换和卸载操作 - 提供 Current 属性获取当前加载的场景对象 - 添加 Replace 方法用于替换当前场景为指定键对应的场景 - 添加 Unload 方法用于卸载当前加载的场景 - 包含完整的 XML 文档注释说明接口功能和方法用途 - 遵循 Apache 2.0 许可证协议并添加版权信息 --- .../scene/ISceneLoader.cs | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 GFramework.Core.Abstractions/scene/ISceneLoader.cs diff --git a/GFramework.Core.Abstractions/scene/ISceneLoader.cs b/GFramework.Core.Abstractions/scene/ISceneLoader.cs new file mode 100644 index 0000000..9646dc7 --- /dev/null +++ b/GFramework.Core.Abstractions/scene/ISceneLoader.cs @@ -0,0 +1,37 @@ +// Copyright (c) 2026 GeWuYou +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +namespace GFramework.Core.Abstractions.scene; + +/// +/// 定义场景加载器的接口,用于管理场景的加载、替换和卸载操作。 +/// +public interface ISceneLoader +{ + /// + /// 获取当前加载的场景对象。 + /// + /// 当前场景对象,如果未加载任何场景则返回 null。 + T? Current { get; } + + /// + /// 替换当前场景为指定键对应的场景。 + /// + /// 场景的唯一标识符或键值。 + void Replace(string key); + + /// + /// 卸载当前加载的场景。 + /// + void Unload(); +} \ No newline at end of file