二七王:明牌、提示、准备 handler
明牌数据进 GameState(面板可反复开关查看);提示不进——它是一次性通知、 不是对局状态,重连也不重放,存下来只会变成幽灵数据,故只随事件带出。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
///////////////////////////////////////////////////////////////
|
||||
////////// EQW_QueryHandler: 明牌(mingpai)与提示(tishi)///
|
||||
///////////////////////////////////////////////////////////////
|
||||
// 协议 §13.6 mingpai(只回给请求者):
|
||||
// seat 请求者 / others 另外两家各自未出的全部主牌 [{seat, zhucards}]
|
||||
// 受理条件:可查牌模式 + 出牌阶段 + 已有【任一】玩家报无主(design §9.3)
|
||||
//
|
||||
// 协议 §13.8 tishi(只转发给对家,即另一闲家):
|
||||
// seat 发出提示的闲家 / tip 1=踩 2=没分 3=有分
|
||||
// 注意:成功时【不给发送者回执】,只转发给对家;只有失败才回给发送者。
|
||||
//
|
||||
// 明牌数据进 GameState(面板可反复开关查看),提示不进——
|
||||
// 提示是一次性的通知、不是对局状态,重连也不重放,存下来只会变成幽灵数据。
|
||||
var EQW_QueryHandler = EQW_QueryHandler || {
|
||||
|
||||
handleMingpai: function (data) {
|
||||
if (!data.hasOwnProperty('others')) {
|
||||
console.error('[EQW_QueryHandler] mingpai 缺 others,已跳过该包');
|
||||
return;
|
||||
}
|
||||
EQW_GameState.table.mingpai = data.others;
|
||||
EventBus.emit(EQW_Events.EQW_MINGPAI);
|
||||
},
|
||||
|
||||
handleTishi: function (data) {
|
||||
if (!data.hasOwnProperty('seat') || !data.hasOwnProperty('tip')) {
|
||||
console.error('[EQW_QueryHandler] tishi 缺 seat 或 tip,已跳过该包');
|
||||
return;
|
||||
}
|
||||
//一次性通知:不进 GameState,随事件把内容带给订阅者
|
||||
EventBus.emit(EQW_Events.EQW_TIP, { seat: data.seat, tip: data.tip });
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,16 @@
|
||||
///////////////////////////////////////////////////////////////
|
||||
////////// EQW_ReadyHandler: 准备(zhunbei)//////////////////
|
||||
///////////////////////////////////////////////////////////////
|
||||
// 协议 §16:seat 位置序号。
|
||||
// 准备状态由平台的玩家信息 UI 呈现(清单 T-15:准备标识用平台的),
|
||||
// 子游戏只需把事件发出去,让关心的组件(如结算面板的「下一局」按钮)响应。
|
||||
var EQW_ReadyHandler = EQW_ReadyHandler || {
|
||||
|
||||
handle: function (data) {
|
||||
if (!data.hasOwnProperty('seat')) {
|
||||
console.error('[EQW_ReadyHandler] zhunbei 缺 seat,已跳过该包');
|
||||
return;
|
||||
}
|
||||
EventBus.emit(EQW_Events.EQW_READY_CHANGED, { seat: data.seat });
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user