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
// 获取全局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
Methods
getInstance()
static
getInstance(config?
):WorldManager
Defined in: ECS/WorldManager.ts:87
获取WorldManager单例实例
Parameters
config?
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?
Returns
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