fix bug where game simulation continues while dialog is shown

This commit is contained in:
2026-06-13 14:31:03 +02:00
parent 49f7129bd5
commit ed17664ef1
3 changed files with 11 additions and 0 deletions

View File

@@ -188,6 +188,7 @@ void MainWindow::handleEvent(std::shared_ptr<const SchematicChoicesAvailableEven
m_sim->applySchematicChoice(dialog.getChosenIndex());
m_gameWorldView->setGameSpeed(prevSpeed);
m_gameWorldView->resetFrameTimer();
}
void MainWindow::onEscapeMenuRequested()
@@ -218,6 +219,7 @@ void MainWindow::onEscapeMenuRequested()
QMessageBox::critical(this, tr("Config Error"),
tr("Failed to reload config:\n%1").arg(e.what()));
m_gameWorldView->setGameSpeed(prevSpeed);
m_gameWorldView->resetFrameTimer();
return;
}
m_gameWorldView->resetForNewGame();
@@ -229,6 +231,7 @@ void MainWindow::onEscapeMenuRequested()
else
{
m_gameWorldView->setGameSpeed(prevSpeed);
m_gameWorldView->resetFrameTimer();
}
}
@@ -241,6 +244,7 @@ void MainWindow::onLayoutDialogRequested(BuildingId shipyardId)
if (!b)
{
m_gameWorldView->setGameSpeed(prevSpeed);
m_gameWorldView->resetFrameTimer();
return;
}
@@ -272,6 +276,7 @@ void MainWindow::onLayoutDialogRequested(BuildingId shipyardId)
}
m_gameWorldView->setGameSpeed(prevSpeed);
m_gameWorldView->resetFrameTimer();
}
void MainWindow::onGameOver()