Files
XCEngine/docs/api/scene/scene/scene.md
ssdfasd a9d5a68dd6 docs: Add Component, GameObject, TransformComponent and Scene API documentation
- Add Component class documentation with lifecycle methods
- Add GameObject class documentation with component system
- Add TransformComponent documentation with transform methods
- Add Scene class documentation with GameObject management
- Add SceneManager singleton documentation with scene loading
- Update components.md overview with all component classes
- Update main.md navigation with Scene module
2026-03-22 03:33:55 +08:00

2.8 KiB
Raw Blame History

Scene

命名空间: XCEngine::Components

类型: class

头文件: XCEngine/Scene/Scene.h

描述: 场景类,管理场景中的所有 GameObject 和层级结构。

概述

Scene 是 XCEngine 中的场景类,代表一个独立的游戏空间(如主菜单、游戏关卡、过场动画等)。每个 Scene 包含一个 GameObject 层级树通过根对象Root GameObjects组织。Scene 负责创建和销毁 GameObject提供查找功能支持场景保存/加载,并发布 GameObject 创建和销毁事件。

类型别名

别名 类型 描述
GameObjectID uint64_t 游戏对象唯一标识符类型
INVALID_GAMEOBJECT_ID static constexpr GameObjectID 无效 ID 常量,值为 0

公共方法

基础信息

方法 描述
GetName 获取场景名称
SetName 设置场景名称
IsActive 检查场景是否激活
SetActive 设置场景激活状态

GameObject 管理

方法 描述
CreateGameObject 创建游戏对象
DestroyGameObject 销毁游戏对象

查找

方法 描述
Find 按名称查找 GameObject
FindGameObjectWithTag 按标签查找 GameObject
FindObjectOfType 查找指定类型的组件
FindObjectsOfType 查找所有指定类型的组件
GetRootGameObjects 获取所有根对象

生命周期

方法 描述
Update 每帧更新场景
FixedUpdate 固定频率更新
LateUpdate 晚更新
Load 加载场景
Save 保存场景

事件

方法 描述
OnGameObjectCreated GameObject 创建事件
OnGameObjectDestroyed GameObject 销毁事件

使用示例

#include <XCEngine/Scene/Scene.h>
#include <XCEngine/Components/GameObject.h>

using namespace XCEngine::Components;

void SceneExample(Scene* scene) {
    GameObject* player = scene->CreateGameObject("Player");
    GameObject* enemy = scene->CreateGameObject("Enemy");
    
    scene->SetActive(true);
    
    GameObject* found = scene->Find("Player");
    auto cameras = scene->FindObjectsOfType<TransformComponent>();
}

相关文档