40 lines
1.0 KiB
Markdown
40 lines
1.0 KiB
Markdown
# ShrinkCommand.Integration.EventBus
|
|
|
|
`ShrinkCommand` 与 `ShrinkEventBus` 的桥接层。
|
|
|
|
Godot 和普通 .NET 项目安装 `ShrinkSDK.Command.Integration.EventBus`;可打包源码位于 `DotNet~`。
|
|
|
|
## 能力
|
|
|
|
- 通过事件请求执行命令
|
|
- 把命令执行过程发布为 EventBus 生命周期事件
|
|
- 保持 `ShrinkCommand` 核心不依赖 `ShrinkEventBus`
|
|
|
|
## 事件
|
|
|
|
- `ShrinkCommandExecuteRequestEvent`
|
|
- `ShrinkCommandExecutingEvent`
|
|
- `ShrinkCommandExecutedEvent`
|
|
- `ShrinkCommandFailedEvent`
|
|
|
|
## 接入
|
|
|
|
`ShrinkApp.Starter.Basic` 的 ContextLoader 组合根会注册 `ShrinkCommandEventBusComponent`:它注入
|
|
`shrink.service.command`,激活时接桥,依赖撤回时自动拆桥。独立使用本包时再显式注册:
|
|
|
|
```csharp
|
|
var service = new ShrinkCommandService();
|
|
service.AutoRegisterAll();
|
|
service.UseEventBusBridge(new ShrinkCommandEventBusBridgeOptions
|
|
{
|
|
ServiceName = "default",
|
|
DefaultSource = source
|
|
});
|
|
```
|
|
|
|
请求执行:
|
|
|
|
```csharp
|
|
var result = await ShrinkCommandEventBusBridge.RequestCommandAsync("help", source);
|
|
```
|