器官与器官直连信道

昨天 20:33综合
食物处理是一条 流水线,不是星形拓扑:
口腔(嚼碎) → 胃(消化) → 小肠(吸收) → 大肠(排泄)
每个器官的输出就是下一个器官的输入,大脑是监控者而非中转者。这确实需要器官↔器官直连信道。
实现方案
在现有 RelayMessage 基础设施上,只需增加两件事:
1. 器官角色注册表(共享状态)
玩家进入某器官关卡时,注册自己:
lua
复制
-- shared serverCloud (uid=0)
organ_roles = {
  oral            = "uid_123",   -- 谁在玩口腔
  stomach         = "uid_456",   -- 谁在玩胃
  small_intestine = "uid_789",
  large_intestine = "uid_012",
}
2. 管道流转信道
lua
复制
-- 口腔玩家完成关卡后:
CrossPlayerChannel.SendPipelineData(nextOrganUid, {
    foodId = "apple",
    chewed = true,           -- 口腔处理结果
    fragments = 12,          -- 嚼成几块
    enzymeMixed = 0.8,       -- 唾液酶混合度
})
-- 胃玩家收到:
CrossPlayerChannel.OnPipelineData(function(fromUid, data)
    -- data.foodId, data.chewed, data.fragments ...
    -- 作为本关卡的输入条件
end)
改动范围
文件 改动
Settings.lua +2 常量(事件 + msgKey)
Server.lua +1 handler(复制 RelayMessage 模式)+ 角色注册 RMW
Client.lua +2 API(RegisterOrganRole / SendPipelineData)
CrossPlayerChannel.lua +1 对 Send/On(管道流转)+ 角色查询辅助
架构上完全复用现有 RelayMessage 管线,零耦合风险。