Skip to content

Move Round and Phase Handling into Message Processors#53

Merged
llsccm merged 1 commit into
devfrom
codex/refactor-game-round-handlers
Jul 23, 2026
Merged

Move Round and Phase Handling into Message Processors#53
llsccm merged 1 commit into
devfrom
codex/refactor-game-round-handlers

Conversation

@llsccm

@llsccm llsccm commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • 功能优化

    • 优化回合与阶段状态显示,支持连续阶段链式展示。
    • 首轮开始时自动清理座位相关界面,并重置指定战法状态。
    • 对无效回合数据进行校验,避免触发错误更新。
  • 测试

    • 新增回合、阶段处理及生命周期行为测试,覆盖状态重置、界面更新与异常输入场景。
  • 文档

    • 更新项目生命周期及记牌器接入点说明,明确回合与阶段处理流程。

@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

本次变更将回合与阶段的界面、副作用及战法状态处理移至对应消息处理器,简化 Game/GameState 的纯状态职责,并新增阶段展示、轮次校验及相关测试与生命周期文档。

Changes

回合与阶段生命周期

Layer / File(s) Summary
阶段处理与阶段链展示
src/handler/GsCGamephaseNtf.js, tests/tracker/gamePhase.test.ts
新增 SeatRoundState、阶段名映射、战法重置、DOM 清理及阶段链追加逻辑,并覆盖初始化、阶段推进和连续阶段展示测试。
回合处理与状态职责拆分
src/handler/MsgGameTurnNtf.js, src/tracker/Game.ts, src/tracker/gameState.ts, tests/tracker/gameTurn.test.ts, tests/tracker/room.import.test.ts, docs/agents/*
handleGameTurn 校验轮次并重置首轮座位覆盖和轮级战法状态;Game/GameState 删除对应副作用职责,生命周期测试及相关文档同步更新。

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant MsgGameTurnNtf
  participant Game
  participant Laya
  participant tracker
  MsgGameTurnNtf->>Game: validate TurnCnt and setTurn(TurnCnt)
  MsgGameTurnNtf->>Laya: resetTurnZhanFa()
  MsgGameTurnNtf->>tracker: scheduleTrackerRender()
Loading

Possibly related PRs

  • llsccm/tracker#20:同样直接修改 MsgGameTurnNtf.js 中的 handleGameTurn
  • llsccm/tracker#32:同样调整 Game.tsgameState.ts 及回合生命周期职责。
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title Check ✅ Passed Title check skipped as CodeRabbit has written the PR title.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/refactor-game-round-handlers

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot changed the title @pr Move Round and Phase Handling into Message Processors Jul 23, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/handler/MsgGameTurnNtf.js`:
- Line 12: 更新 MsgGameTurnNtf 中对 TurnCnt 的校验,仅允许非负整数,拒绝负数和小数后再调用
Game.setTurn;同时为这些无效输入补充对应测试,确保不会触发轮次状态更新或渲染。
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 64b72fc4-4c4f-4fa4-a8a5-dbd78ef779a0

📥 Commits

Reviewing files that changed from the base of the PR and between 772f139 and 258d16f.

📒 Files selected for processing (9)
  • docs/agents/card_tracker.md
  • docs/agents/lifecycle.md
  • src/handler/GsCGamephaseNtf.js
  • src/handler/MsgGameTurnNtf.js
  • src/tracker/Game.ts
  • src/tracker/gameState.ts
  • tests/tracker/gamePhase.test.ts
  • tests/tracker/gameTurn.test.ts
  • tests/tracker/room.import.test.ts
💤 Files with no reviewable changes (2)
  • src/tracker/Game.ts
  • src/tracker/gameState.ts

Comment thread src/handler/MsgGameTurnNtf.js
@llsccm
llsccm merged commit d0f2c86 into dev Jul 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant