M5: 显式化导航拓扑约束(无子游戏→子游戏,须经大厅)
确认当前实现已符合用户拓扑:大厅常驻不销毁、子游戏临时销毁、仅 大厅↔子游戏、 子游戏换子游戏须 backgameData 回大厅再 SwitchOverGameData 进新子游戏。 - switchGame 守卫拆分:已在子游戏中(subgameUrl!='')时忽略 SwitchOverGameData 并告警日志 (此前静默忽略);注释说明拓扑约束与正确流程。无功能变更,仅可观测性。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -114,7 +114,13 @@ export struct BridgeGameContainer {
|
||||
|
||||
/** 路径 A:大厅 → 子游戏(大厅去激活并保活,创建子游戏 Web)。 */
|
||||
private switchGame(p?: EventPayload): void {
|
||||
if (p === undefined || this.subgameUrl !== '') {
|
||||
if (p === undefined) {
|
||||
return;
|
||||
}
|
||||
// 拓扑约束:仅 大厅↔子游戏,无 子游戏→子游戏。已在子游戏中时忽略——
|
||||
// 游戏逻辑须先 backgameData 回大厅、再由大厅发 SwitchOverGameData 进新子游戏。
|
||||
if (this.subgameUrl !== '') {
|
||||
Logger.tag('BridgeGameContainer').w('SwitchOverGameData ignored: already in subgame (route via lobby)');
|
||||
return;
|
||||
}
|
||||
const d = p as SwitchGamePayload;
|
||||
|
||||
Reference in New Issue
Block a user