afegit callback a service menu per a posar pausa en el joc
This commit is contained in:
@@ -98,6 +98,14 @@ Game::Game(Player::Id player_id, int current_stage, bool demo)
|
||||
initPaths();
|
||||
setTotalPower();
|
||||
|
||||
// Registra callbacks
|
||||
ServiceMenu::get()->setStateChangeCallback([this](bool isActive) {
|
||||
// Solo aplicar pausa si NO estamos en modo demo
|
||||
if (!demo_.enabled) {
|
||||
pause_manager_->setServiceMenuPause(isActive);
|
||||
}
|
||||
});
|
||||
|
||||
#ifdef _DEBUG
|
||||
// Si se empieza en una fase que no es la primera
|
||||
if (!demo_.enabled) {
|
||||
@@ -890,7 +898,6 @@ void Game::update() {
|
||||
ticks_ = SDL_GetTicks();
|
||||
screen_->update();
|
||||
|
||||
checkServiceMenu();
|
||||
updateDemo();
|
||||
#ifdef RECORDING
|
||||
updateRecording();
|
||||
@@ -1860,19 +1867,6 @@ void Game::sortPlayersByZOrder() {
|
||||
}
|
||||
}
|
||||
|
||||
// Comprueba si está activo el menu de servicio para poner el juego en pausa
|
||||
void Game::checkServiceMenu() {
|
||||
if (demo_.enabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (ServiceMenu::get()->isEnabled()) {
|
||||
pause_manager_->setServiceMenuPause(true);
|
||||
} else {
|
||||
pause_manager_->setServiceMenuPause(false);
|
||||
}
|
||||
}
|
||||
|
||||
// Mueve el jugador para pintarlo al fondo de la lista de jugadores
|
||||
void Game::sendPlayerToTheBack(const std::shared_ptr<Player> &player) {
|
||||
players_to_put_at_back_.push_back(player);
|
||||
|
||||
Reference in New Issue
Block a user