Skip to content

ECS Framework API v2.1.50


ECS Framework API / WorldManager

Class: WorldManager

Defined in: ECS/WorldManager.ts:57

World管理器 - 管理所有World实例

WorldManager是全局单例,负责管理所有World的生命周期。 每个World都是独立的ECS环境,可以包含多个Scene。

设计理念:

  • Core负责单Scene的传统ECS管理
  • World负责多Scene的管理和协调
  • WorldManager负责多World的全局管理

Example

typescript
// 获取全局WorldManager
const worldManager = WorldManager.getInstance();

// 创建游戏房间World
const roomWorld = worldManager.createWorld('room_001', {
    name: 'GameRoom_001',
    maxScenes: 5
});

// 在游戏循环中更新所有World
worldManager.updateAll(deltaTime);

Accessors

worldCount

Get Signature

get worldCount(): number

Defined in: ECS/WorldManager.ts:439

获取World总数

Returns

number


activeWorldCount

Get Signature

get activeWorldCount(): number

Defined in: ECS/WorldManager.ts:446

获取激活World数量

Returns

number


isRunning

Get Signature

get isRunning(): boolean

Defined in: ECS/WorldManager.ts:453

检查是否正在运行

Returns

boolean


config

Get Signature

get config(): IWorldManagerConfig

Defined in: ECS/WorldManager.ts:460

获取配置

Returns

IWorldManagerConfig

Methods

getInstance()

static getInstance(config?): WorldManager

Defined in: ECS/WorldManager.ts:87

获取WorldManager单例实例

Parameters

config?

IWorldManagerConfig

Returns

WorldManager


reset()

static reset(): void

Defined in: ECS/WorldManager.ts:97

重置WorldManager实例(主要用于测试)

Returns

void


createWorld()

createWorld(worldId, config?): World

Defined in: ECS/WorldManager.ts:109

创建新World

Parameters

worldId

string

config?

IWorldConfig

Returns

World


removeWorld()

removeWorld(worldId): boolean

Defined in: ECS/WorldManager.ts:138

移除World

Parameters

worldId

string

Returns

boolean


getWorld()

getWorld(worldId): null | World

Defined in: ECS/WorldManager.ts:160

获取World

Parameters

worldId

string

Returns

null | World


getWorldIds()

getWorldIds(): string[]

Defined in: ECS/WorldManager.ts:167

获取所有World ID

Returns

string[]


getAllWorlds()

getAllWorlds(): World[]

Defined in: ECS/WorldManager.ts:174

获取所有World

Returns

World[]


setWorldActive()

setWorldActive(worldId, active): void

Defined in: ECS/WorldManager.ts:181

设置World激活状态

Parameters

worldId

string

active

boolean

Returns

void


isWorldActive()

isWorldActive(worldId): boolean

Defined in: ECS/WorldManager.ts:202

检查World是否激活

Parameters

worldId

string

Returns

boolean


getActiveWorlds()

getActiveWorlds(): World[]

Defined in: ECS/WorldManager.ts:212

获取所有激活的World 注意:此方法供Core.update()使用

Returns

World[]


startAll()

startAll(): void

Defined in: ECS/WorldManager.ts:226

启动所有World

Returns

void


stopAll()

stopAll(): void

Defined in: ECS/WorldManager.ts:239

停止所有World

Returns

void


findWorlds()

findWorlds(predicate): World[]

Defined in: ECS/WorldManager.ts:252

查找满足条件的World

Parameters

predicate

(world) => boolean

Returns

World[]


findWorldByName()

findWorldByName(name): null | World

Defined in: ECS/WorldManager.ts:265

根据名称查找World

Parameters

name

string

Returns

null | World


getStats()

getStats(): object

Defined in: ECS/WorldManager.ts:279

获取WorldManager统计信息

Returns

object

totalWorlds

totalWorlds: number

activeWorlds

activeWorlds: number

totalScenes

totalScenes: number = 0

totalEntities

totalEntities: number = 0

totalSystems

totalSystems: number = 0

memoryUsage

memoryUsage: number = 0

isRunning

isRunning: boolean

config

config: object

config.maxWorlds?

optional maxWorlds: number

最大World数量

config.autoCleanup?

optional autoCleanup: boolean

是否自动清理空World

config.cleanupInterval?

optional cleanupInterval: number

清理间隔(毫秒)

config.debug?

optional debug: boolean

是否启用调试模式

worlds

worlds: any[]


getDetailedStatus()

getDetailedStatus(): object

Defined in: ECS/WorldManager.ts:313

获取详细状态信息

Returns

object

totalWorlds

totalWorlds: number

activeWorlds

activeWorlds: number

totalScenes

totalScenes: number = 0

totalEntities

totalEntities: number = 0

totalSystems

totalSystems: number = 0

memoryUsage

memoryUsage: number = 0

isRunning

isRunning: boolean

config

config: object

config.maxWorlds?

optional maxWorlds: number

最大World数量

config.autoCleanup?

optional autoCleanup: boolean

是否自动清理空World

config.cleanupInterval?

optional cleanupInterval: number

清理间隔(毫秒)

config.debug?

optional debug: boolean

是否启用调试模式

worlds

worlds: object[]


cleanup()

cleanup(): number

Defined in: ECS/WorldManager.ts:329

清理空World

Returns

number


destroy()

destroy(): void

Defined in: ECS/WorldManager.ts:352

销毁WorldManager

Returns

void

Released under the MIT License.