feat: show live per-player responses in ready check popup

Track each player's ready/not-ready response as MSG_RAID_READY_CHECK_CONFIRM
packets arrive. Display a color-coded table (green=Ready, red=Not Ready) in
the ready check popup so the raid leader can see who has responded in real
time. Results clear when a new check starts or finishes.
This commit is contained in:
Kelsi 2026-03-12 09:07:37 -07:00
parent 09d4a6ab41
commit d8d59dcdc8
3 changed files with 38 additions and 0 deletions

View file

@ -8866,6 +8866,29 @@ void GameScreen::renderReadyCheckPopup(game::GameHandler& gameHandler) {
gameHandler.respondToReadyCheck(false);
gameHandler.dismissReadyCheck();
}
// Live player responses
const auto& results = gameHandler.getReadyCheckResults();
if (!results.empty()) {
ImGui::Separator();
if (ImGui::BeginTable("##rcresults", 2,
ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_RowBg)) {
ImGui::TableSetupColumn("Player", ImGuiTableColumnFlags_WidthStretch);
ImGui::TableSetupColumn("Status", ImGuiTableColumnFlags_WidthFixed, 72.0f);
for (const auto& r : results) {
ImGui::TableNextRow();
ImGui::TableSetColumnIndex(0);
ImGui::TextUnformatted(r.name.c_str());
ImGui::TableSetColumnIndex(1);
if (r.ready) {
ImGui::TextColored(ImVec4(0.2f, 0.9f, 0.2f, 1.0f), "Ready");
} else {
ImGui::TextColored(ImVec4(0.9f, 0.3f, 0.3f, 1.0f), "Not Ready");
}
}
ImGui::EndTable();
}
}
}
ImGui::End();
}