跳转到内容

插件系统

插件系统允许你以模块化的方式扩展 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');
const plugin = Core.getPlugin('debug-plugin');
if (plugin) {
console.log(`Plugin version: ${plugin.version}`);
}