二七王:重连与开局 handler,路由表注册齐全
重连即重画:断线重连与硬刷新复用同一条路径(填 GameState → emit RESYNC_ALL), 不为重连单写一套渲染。deskinfo 按 step 分组填充,重连不重放 70 分开底那类 一次性事件。StartWar 支持差异化下发,按本座位取自己那份。 路由表 12 条注册齐全,test_dispatcher 的完整性断言随之转绿—— 漏接一个包就会红。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -4,7 +4,18 @@ const t = require('./_assert')();
|
||||
|
||||
load('client/js/gameabc-framework/system/EventBus.js');
|
||||
load('client/js/01_SubGame/codes/state/Events.js');
|
||||
load('client/js/01_SubGame/codes/state/GameState.js');
|
||||
load('client/js/01_SubGame/codes/state/RoomOptions.js');
|
||||
load('client/js/01_SubGame/codes/net/handlers/FailHandler.js');
|
||||
load('client/js/01_SubGame/codes/net/handlers/DealHandler.js');
|
||||
load('client/js/01_SubGame/codes/net/handlers/CallHandler.js');
|
||||
load('client/js/01_SubGame/codes/net/handlers/MainHandler.js');
|
||||
load('client/js/01_SubGame/codes/net/handlers/BuryHandler.js');
|
||||
load('client/js/01_SubGame/codes/net/handlers/PlayHandler.js');
|
||||
load('client/js/01_SubGame/codes/net/handlers/QueryHandler.js');
|
||||
load('client/js/01_SubGame/codes/net/handlers/ReadyHandler.js');
|
||||
load('client/js/01_SubGame/codes/net/handlers/ResultHandler.js');
|
||||
load('client/js/01_SubGame/codes/net/handlers/ResyncHandler.js');
|
||||
load('client/js/01_SubGame/codes/net/Dispatcher.js');
|
||||
|
||||
// ---- 注册与分发 ----
|
||||
@@ -40,16 +51,9 @@ t.eq('未知 rpc 不抛错', threw, false);
|
||||
});
|
||||
|
||||
// ---- 路由表完整性:协议里每个服务端推送 rpc 都要有 handler ----
|
||||
// (本条在 Task 10 全部 handler 就位后才会真正通过;此刻先写下期望,
|
||||
// Task 10 完成时它会自动转绿——这正是它存在的意义:漏接一个包就会红)
|
||||
// Task 10 完成后取消注释以下代码块
|
||||
/*
|
||||
load('client/js/01_SubGame/codes/state/GameState.js');
|
||||
load('client/js/01_SubGame/codes/state/RoomOptions.js');
|
||||
['fapai','jiaofen','shangzhuang','xuanzhu','maipai',
|
||||
'chupai1','chupai2','chupai3','mingpai','tishi','jiesuan','zhunbei'].forEach(rpc => {
|
||||
t.eq('已注册 handler: ' + rpc, EQW_Dispatcher.hasHandler(rpc), true);
|
||||
});
|
||||
*/
|
||||
|
||||
process.exit(t.done('dispatcher') ? 0 : 1);
|
||||
|
||||
Reference in New Issue
Block a user