- 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
1.8 KiB
1.8 KiB
Components 模块概览
命名空间: XCEngine::Components
类型: module
描述: XCEngine 的 ECS(实体组件系统)组件模块。
概述
Components 模块是 XCEngine ECS 架构中的组件层,提供各种游戏对象组件。这些组件附加到实体(Entity)上,定义了游戏对象的行为和数据。组件系统支持 Transform、Audio、Render 等功能。
模块内容
核心组件
| 组件 | 文件 | 描述 |
|---|---|---|
| Component | Component.h |
组件基类,所有组件的父类 |
| GameObject | GameObject.h |
游戏对象实体 |
变换组件
| 组件 | 文件 | 描述 |
|---|---|---|
| TransformComponent | TransformComponent.h |
变换组件,包含位置、旋转、缩放 |
音频组件
| 组件 | 文件 | 描述 |
|---|---|---|
| AudioSourceComponent | AudioSourceComponent.h |
音频源组件,负责播放音频 |
| AudioListenerComponent | AudioListenerComponent.h |
音频监听器组件,接收声音 |
使用示例
#include <XCEngine/Components/GameObject.h>
#include <XCEngine/Components/TransformComponent.h>
#include <XCEngine/Components/AudioSourceComponent.h>
using namespace XCEngine::Components;
void CreateAudioEntity() {
GameObject* entity = new GameObject("AudioEntity");
auto transform = entity->AddComponent<TransformComponent>();
transform->SetPosition(Vector3(0, 0, 0));
auto audioSource = entity->AddComponent<AudioSourceComponent>();
audioSource->SetVolume(0.8f);
}