ECS Framework API / World
Class: World
Defined in: ECS/World.ts:85
World类 - ECS世界管理器
World是Scene的容器,每个World可以管理多个Scene。 这种设计允许创建独立的游戏世界,如:
- 游戏房间(每个房间一个World)
- 不同的游戏模式
- 独立的模拟环境
Example
// 创建游戏房间的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
new World(
config
):World
Defined in: ECS/World.ts:94
Parameters
config
IWorldConfig
= {}
Returns
World
Properties
name
readonly
name:string
Defined in: ECS/World.ts:86
Accessors
isActive
Get Signature
get isActive():
boolean
Defined in: ECS/World.ts:487
检查World是否激活
Returns
boolean
sceneCount
Get Signature
get sceneCount():
number
Defined in: ECS/World.ts:494
获取Scene数量
Returns
number
createdAt
Get Signature
get createdAt():
number
Defined in: ECS/World.ts:501
获取创建时间
Returns
number
Methods
createScene()
createScene<
T
>(sceneId
,sceneInstance?
):T
Defined in: ECS/World.ts:114
创建并添加Scene到World
Type Parameters
T
T
extends IScene
Parameters
sceneId
string
sceneInstance?
T
Returns
T
removeScene()
removeScene(
sceneId
):boolean
Defined in: ECS/World.ts:146
移除Scene
Parameters
sceneId
string
Returns
boolean
getScene()
getScene<
T
>(sceneId
):null
|T
Defined in: ECS/World.ts:168
获取Scene
Type Parameters
T
T
extends IScene
Parameters
sceneId
string
Returns
null
| T
getSceneIds()
getSceneIds():
string
[]
Defined in: ECS/World.ts:175
获取所有Scene ID
Returns
string
[]
getAllScenes()
getAllScenes():
IScene
[]
Defined in: ECS/World.ts:182
获取所有Scene
Returns
IScene
[]
setSceneActive()
setSceneActive(
sceneId
,active
):void
Defined in: ECS/World.ts:189
设置Scene激活状态
Parameters
sceneId
string
active
boolean
Returns
void
isSceneActive()
isSceneActive(
sceneId
):boolean
Defined in: ECS/World.ts:213
检查Scene是否激活
Parameters
sceneId
string
Returns
boolean
getActiveSceneCount()
getActiveSceneCount():
number
Defined in: ECS/World.ts:220
获取活跃Scene数量
Returns
number
addGlobalSystem()
addGlobalSystem<
T
>(system
):T
Defined in: ECS/World.ts:230
添加全局System 全局System会在所有激活Scene之前更新
Type Parameters
T
T
extends IGlobalSystem
Parameters
system
T
Returns
T
removeGlobalSystem()
removeGlobalSystem(
system
):boolean
Defined in: ECS/World.ts:247
移除全局System
Parameters
system
IGlobalSystem
Returns
boolean
getGlobalSystem()
getGlobalSystem<
T
>(type
):null
|T
Defined in: ECS/World.ts:265
获取全局System
Type Parameters
T
T
extends IGlobalSystem
Parameters
type
(...args
) => T
Returns
null
| T
start()
start():
void
Defined in: ECS/World.ts:279
启动World
Returns
void
stop()
stop():
void
Defined in: ECS/World.ts:299
停止World
Returns
void
updateGlobalSystems()
updateGlobalSystems():
void
Defined in: ECS/World.ts:324
更新World中的全局System 注意:此方法由Core.update()调用,不应直接调用
Returns
void
updateScenes()
updateScenes():
void
Defined in: ECS/World.ts:341
更新World中的所有激活Scene 注意:此方法由Core.update()调用,不应直接调用
Returns
void
destroy()
destroy():
void
Defined in: ECS/World.ts:363
销毁World
Returns
void
getStatus()
getStatus():
object
Defined in: ECS/World.ts:394
获取World状态
Returns
object
name
name:
string
isActive
isActive:
boolean
sceneCount
sceneCount:
number
activeSceneCount
activeSceneCount:
number
globalSystemCount
globalSystemCount:
number
createdAt
createdAt:
number
config
config:
object
config.name?
optional
name:string
World名称
config.debug?
optional
debug:boolean
是否启用调试模式
config.maxScenes?
optional
maxScenes:number
最大Scene数量限制
config.autoCleanup?
optional
autoCleanup:boolean
是否自动清理空Scene
scenes
scenes:
object
[]
getStats()
getStats():
object
Defined in: ECS/World.ts:414
获取World统计信息
Returns
object
totalEntities
totalEntities:
number
=0
totalSystems
totalSystems:
number
memoryUsage
memoryUsage:
number
=0
performance
performance:
object
performance.averageUpdateTime
averageUpdateTime:
number
=0
performance.maxUpdateTime
maxUpdateTime:
number
=0