主题
消息队列(IRocMessageQueueService)
- 接口:
RocPlay.Services.MessageQueue.IRocMessageQueueService - 消息基约束:
RocPlay.Core.IRocMessage(标记接口) - 消息选项:
MessageOptions(Priority、DelaySeconds;Default/HighPriority/Delayed) - 默认实现:
RocMessageQueueService+ 内部RocMessageQueueBridge(MonoBehaviour,对象名"[MessageQueueBridge]",Update驱动OnUpdate) - 源码目录:
Assets/RocPlay/Services/MessageQueue/
归档 MessageQueue.md 用大量篇幅写 与 EventBus 区别 与 桥接;源码里 MessageOptions 独立成文件——分册按 「入队与选项」→「桥接与 EventBus」→ 示例 更贴代码与旧文档。
最小心智模型
- 同进程、强类型队列:与
RocEventBus广域广播不同,偏有序 / 可延迟 / 可关断的任务型消息。 - 必须
StartProcessing:桥接只在IsProcessing为真时在Update里驱动OnUpdate。 - 无订阅会 Warning 并清空:该类型就绪消息在当帧会被清空;有订阅才调用处理器。
Unsubscribe<T>语义:当前实现为移除该类型下全部处理器,不能只卸单个委托。- 处理器勿阻塞主线程:长耗时工作应拆到异步或工作线程(与 Unity 主线程约束对齐)。
职责(摘要)
在同进程内对实现 IRocMessage 的强类型消息做入队、按类型订阅处理、优先级/延迟调度,以及处理开关、队列清空/长度查询。
分册(按阅读顺序)
| 顺序 | 分册 | 说明 |
|---|---|---|
| 1 | 入队与选项 | 成员表、MessageOptions |
| 2 | 桥接与 EventBus | [MessageQueueBridge]、Unsubscribe、与 EventBus 对照 |
| 3 | 示例 | 订阅、入队、StartProcessing |
→ 基础服务总览