更新文档
This commit is contained in:
@@ -314,8 +314,8 @@ import { Core, WorldManager } from '@esengine/ecs-framework';
|
|||||||
// 初始化Core
|
// 初始化Core
|
||||||
Core.create({ debug: true });
|
Core.create({ debug: true });
|
||||||
|
|
||||||
// 创建世界管理器(手动管理)
|
// 从服务容器获取 WorldManager(Core 已自动创建并注册)
|
||||||
const worldManager = new WorldManager();
|
const worldManager = Core.services.resolve(WorldManager);
|
||||||
|
|
||||||
// 创建多个独立的游戏世界
|
// 创建多个独立的游戏世界
|
||||||
const room1 = worldManager.createWorld('room_001');
|
const room1 = worldManager.createWorld('room_001');
|
||||||
|
|||||||
@@ -296,13 +296,13 @@ ECS Framework 提供了灵活的场景管理架构,适用于不同规模的应
|
|||||||
适用于 95% 的游戏应用(单人游戏、简单多人游戏、移动游戏等):
|
适用于 95% 的游戏应用(单人游戏、简单多人游戏、移动游戏等):
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
import { Core, SceneManager } from '@esengine/ecs-framework';
|
import { Core, Scene, SceneManager } from '@esengine/ecs-framework';
|
||||||
|
|
||||||
// 初始化Core(全局服务)
|
// 初始化Core(全局服务)
|
||||||
Core.create({ debug: true });
|
Core.create({ debug: true });
|
||||||
|
|
||||||
// 创建场景管理器
|
// 从服务容器获取 SceneManager(Core 已自动创建并注册)
|
||||||
const sceneManager = new SceneManager();
|
const sceneManager = Core.services.resolve(SceneManager);
|
||||||
|
|
||||||
// 创建游戏场景
|
// 创建游戏场景
|
||||||
class GameScene extends Scene {
|
class GameScene extends Scene {
|
||||||
@@ -355,8 +355,8 @@ import { Core, WorldManager } from '@esengine/ecs-framework';
|
|||||||
// 初始化Core(全局服务)
|
// 初始化Core(全局服务)
|
||||||
Core.create({ debug: true });
|
Core.create({ debug: true });
|
||||||
|
|
||||||
// 创建世界管理器
|
// 从服务容器获取 WorldManager(Core 已自动创建并注册)
|
||||||
const worldManager = new WorldManager();
|
const worldManager = Core.services.resolve(WorldManager);
|
||||||
|
|
||||||
// 创建多个独立的游戏世界
|
// 创建多个独立的游戏世界
|
||||||
const gameWorld = worldManager.createWorld('game', {
|
const gameWorld = worldManager.createWorld('game', {
|
||||||
@@ -435,7 +435,7 @@ ECS Framework 的架构层次清晰,职责分明:
|
|||||||
import { Core, SceneManager } from '@esengine/ecs-framework';
|
import { Core, SceneManager } from '@esengine/ecs-framework';
|
||||||
|
|
||||||
Core.create({ debug: true });
|
Core.create({ debug: true });
|
||||||
const sceneManager = new SceneManager();
|
const sceneManager = Core.services.resolve(SceneManager);
|
||||||
sceneManager.setScene(new GameScene());
|
sceneManager.setScene(new GameScene());
|
||||||
|
|
||||||
// 游戏循环
|
// 游戏循环
|
||||||
@@ -448,7 +448,7 @@ function gameLoop(deltaTime: number) {
|
|||||||
import { Core, WorldManager } from '@esengine/ecs-framework';
|
import { Core, WorldManager } from '@esengine/ecs-framework';
|
||||||
|
|
||||||
Core.create({ debug: true });
|
Core.create({ debug: true });
|
||||||
const worldManager = new WorldManager();
|
const worldManager = Core.services.resolve(WorldManager);
|
||||||
const world = worldManager.createWorld('gameWorld');
|
const world = worldManager.createWorld('gameWorld');
|
||||||
const scene = world.createScene('mainScene', new GameScene());
|
const scene = world.createScene('mainScene', new GameScene());
|
||||||
world.setSceneActive('mainScene', true);
|
world.setSceneActive('mainScene', true);
|
||||||
|
|||||||
@@ -196,15 +196,49 @@ const fps = monitor.getFPS();
|
|||||||
|
|
||||||
### SceneManager
|
### SceneManager
|
||||||
|
|
||||||
场景管理器,管理场景的生命周期:
|
场景管理器,管理单场景应用的场景生命周期:
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
const sceneManager = Core.services.resolve(SceneManager);
|
const sceneManager = Core.services.resolve(SceneManager);
|
||||||
|
|
||||||
|
// 设置当前场景
|
||||||
|
sceneManager.setScene(new GameScene());
|
||||||
|
|
||||||
// 获取当前场景
|
// 获取当前场景
|
||||||
const currentScene = sceneManager.currentScene;
|
const currentScene = sceneManager.currentScene;
|
||||||
|
|
||||||
|
// 延迟切换场景
|
||||||
|
sceneManager.loadScene(new MenuScene());
|
||||||
|
|
||||||
|
// 更新场景
|
||||||
|
sceneManager.update();
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### WorldManager
|
||||||
|
|
||||||
|
世界管理器,管理多个独立的 World 实例(高级用例):
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
const worldManager = Core.services.resolve(WorldManager);
|
||||||
|
|
||||||
|
// 创建独立的游戏世界
|
||||||
|
const gameWorld = worldManager.createWorld('game_room_001', {
|
||||||
|
name: 'GameRoom',
|
||||||
|
maxScenes: 5
|
||||||
|
});
|
||||||
|
|
||||||
|
// 在World中创建场景
|
||||||
|
const scene = gameWorld.createScene('battle', new BattleScene());
|
||||||
|
gameWorld.setSceneActive('battle', true);
|
||||||
|
|
||||||
|
// 更新所有World
|
||||||
|
worldManager.updateAll();
|
||||||
|
```
|
||||||
|
|
||||||
|
**适用场景**:
|
||||||
|
- SceneManager: 适用于 95% 的游戏(单人游戏、简单多人游戏)
|
||||||
|
- WorldManager: 适用于 MMO 服务器、游戏房间系统等需要完全隔离的多世界应用
|
||||||
|
|
||||||
### PoolManager
|
### PoolManager
|
||||||
|
|
||||||
对象池管理器,管理所有对象池:
|
对象池管理器,管理所有对象池:
|
||||||
|
|||||||
Reference in New Issue
Block a user