ECS Framework API / IPlugin
Interface: IPlugin
Defined in: packages/core/src/Core/Plugin.ts:54
插件接口
所有插件都必须实现此接口。 插件提供了一种扩展框架功能的标准方式。
Example
typescript
class MyPlugin implements IPlugin {
readonly name = 'my-plugin';
readonly version = '1.0.0';
readonly dependencies = ['other-plugin'];
async install(core: Core, services: ServiceContainer) {
// 注册服务
services.registerSingleton(MyService);
// 添加系统
const world = core.getWorld();
if (world) {
world.addSystem(new MySystem());
}
}
async uninstall() {
// 清理资源
}
}Properties
name
readonlyname:string
Defined in: packages/core/src/Core/Plugin.ts:60
插件唯一名称
用于依赖解析和插件管理。
version
readonlyversion:string
Defined in: packages/core/src/Core/Plugin.ts:67
插件版本
遵循语义化版本规范 (semver)。
dependencies?
readonlyoptionaldependencies: readonlystring[]
Defined in: packages/core/src/Core/Plugin.ts:74
依赖的其他插件名称列表
这些插件必须在当前插件之前安装。
Methods
install()
install(
core,services):void|Promise<void>
Defined in: packages/core/src/Core/Plugin.ts:85
安装插件
在此方法中初始化插件,注册服务、系统等。 可以是同步或异步的。
Parameters
core
Core实例,用于访问World等
services
服务容器,用于注册服务
Returns
void | Promise<void>
uninstall()
uninstall():
void|Promise<void>
Defined in: packages/core/src/Core/Plugin.ts:93
卸载插件
清理插件占用的资源。 可以是同步或异步的。
Returns
void | Promise<void>