插件系统
插件系统允许你以模块化的方式扩展 ECS Framework 的功能。通过插件,你可以封装特定功能(如网络同步、物理引擎、调试工具等),并在多个项目中复用。
插件是实现了 IPlugin 接口的类,可以在运行时动态安装到框架中。插件可以:
- 注册自定义服务到服务容器
- 添加系统到场景
- 注册自定义组件
- 扩展框架功能
| 优势 | 说明 |
|---|---|
| 模块化 | 将功能封装为独立模块,提高代码可维护性 |
| 可复用 | 同一个插件可以在多个项目中使用 |
| 解耦 | 核心框架与扩展功能分离 |
| 热插拔 | 运行时动态安装和卸载插件 |
import { IPlugin, Core, ServiceContainer } from '@esengine/ecs-framework';
class DebugPlugin implements IPlugin { readonly name = 'debug-plugin'; readonly version = '1.0.0';
install(core: Core, services: ServiceContainer): void { console.log('Debug plugin installed'); }
uninstall(): void { console.log('Debug plugin uninstalled'); }}import { Core } from '@esengine/ecs-framework';
Core.create({ debug: true });
// 安装插件await Core.installPlugin(new DebugPlugin());
// 检查插件是否已安装if (Core.isPluginInstalled('debug-plugin')) { console.log('Debug plugin is running');}await Core.uninstallPlugin('debug-plugin');获取插件实例
Section titled “获取插件实例”const plugin = Core.getPlugin('debug-plugin');if (plugin) { console.log(`Plugin version: ${plugin.version}`);}