Skip to content

消息队列(IRocMessageQueueService)

  • 接口RocPlay.Services.MessageQueue.IRocMessageQueueService
  • 消息基约束RocPlay.Core.IRocMessage(标记接口)
  • 消息选项MessageOptionsPriorityDelaySecondsDefault / HighPriority / Delayed
  • 默认实现RocMessageQueueService + 内部 RocMessageQueueBridgeMonoBehaviour,对象名 "[MessageQueueBridge]"Update 驱动 OnUpdate
  • 源码目录Assets/RocPlay/Services/MessageQueue/

归档 MessageQueue.md 用大量篇幅写 与 EventBus 区别桥接;源码里 MessageOptions 独立成文件——分册按 「入队与选项」→「桥接与 EventBus」→ 示例 更贴代码与旧文档。


最小心智模型

  1. 同进程、强类型队列:与 RocEventBus 广域广播不同,偏有序 / 可延迟 / 可关断的任务型消息。
  2. 必须 StartProcessing:桥接只在 IsProcessing 为真时在 Update 里驱动 OnUpdate
  3. 无订阅会 Warning 并清空:该类型就绪消息在当帧会被清空;有订阅才调用处理器。
  4. Unsubscribe<T> 语义:当前实现为移除该类型下全部处理器,不能只卸单个委托。
  5. 处理器勿阻塞主线程:长耗时工作应拆到异步或工作线程(与 Unity 主线程约束对齐)。

职责(摘要)

同进程内对实现 IRocMessage 的强类型消息做入队按类型订阅处理优先级/延迟调度,以及处理开关、队列清空/长度查询。


分册(按阅读顺序)

顺序分册说明
1入队与选项成员表、MessageOptions
2桥接与 EventBus[MessageQueueBridge]Unsubscribe、与 EventBus 对照
3示例订阅、入队、StartProcessing

基础服务总览