Skip to content

Home > @esengine/ecs-framework-monorepo > World

World class

World类 - ECS世界管理器

World是Scene的容器,每个World可以管理多个Scene。 这种设计允许创建独立的游戏世界,如: - 游戏房间(每个房间一个World) - 不同的游戏模式 - 独立的模拟环境

Signature:

typescript
export declare class World

Example

typescript
// 创建游戏房间的World
const roomWorld = new World({ name: 'Room_001' });

// 在World中创建Scene
const gameScene = roomWorld.createScene('game', new Scene());
const uiScene = roomWorld.createScene('ui', new Scene());

// 更新整个World
roomWorld.update(deltaTime);

Constructors

Constructor

Modifiers

Description

(constructor)(config)

Constructs a new instance of the World class

Properties

Property

Modifiers

Type

Description

createdAt

readonly

number

获取创建时间

isActive

readonly

boolean

检查World是否激活

name

readonly

string

sceneCount

readonly

number

获取Scene数量

Methods

Method

Modifiers

Description

addGlobalSystem(system)

添加全局System 全局System会在所有激活Scene之前更新

createScene(sceneId, sceneInstance)

创建并添加Scene到World

destroy()

销毁World

getActiveSceneCount()

获取活跃Scene数量

getAllScenes()

获取所有Scene

getGlobalSystem(type)

获取全局System

getScene(sceneId)

获取Scene

getSceneIds()

获取所有Scene ID

getStats()

获取World统计信息

getStatus()

获取World状态

isSceneActive(sceneId)

检查Scene是否激活

removeGlobalSystem(system)

移除全局System

removeScene(sceneId)

移除Scene

setSceneActive(sceneId, active)

设置Scene激活状态

start()

启动World

stop()

停止World

updateGlobalSystems()

更新World中的全局System 注意:此方法由Core.update()调用,不应直接调用

updateScenes()

更新World中的所有激活Scene 注意:此方法由Core.update()调用,不应直接调用

基于 MIT 许可证发布