route the win-path restart through ResetCommand

This commit is contained in:
2026-08-03 21:13:43 +02:00
parent 77a842f884
commit 7017f8b4dc

View File

@@ -419,10 +419,12 @@ void MainWindow::handleEvent(std::shared_ptr<const WinEvent> /*event*/)
{
return;
}
// Unlike the other two restart paths this one resets the simulation
// directly instead of enqueueing a ResetCommand; kept as-is.
m_sim->reset(std::move(*newConfig));
m_gameWorldView->resetForNewGame();
// Restart is a command boundary; the view resets when the drain applies it.
std::shared_ptr<ResetCommand> command = std::make_shared<ResetCommand>();
command->config = std::make_shared<GameConfig>(std::move(*newConfig));
command->seed = std::random_device{}();
EventManager::getInstance()->sendEventImmediately(
std::make_shared<CommandRequestedEvent>(command));
}
else
{