From a17c307648da2b7e69b90a417296eb5544317be2 Mon Sep 17 00:00:00 2001 From: D-AIRY <admin@ds-servers.com> Date: Tue, 30 Jun 2020 18:54:57 +0300 Subject: [PATCH] Fixed menu sound --- source/game/GameStates.cpp | 67 ++++++++++++++++++++++++++------------ source/game/GameStates.h | 14 ++++---- 2 files changed, 54 insertions(+), 27 deletions(-) diff --git a/source/game/GameStates.cpp b/source/game/GameStates.cpp index 441310903..4241ef43b 100644 --- a/source/game/GameStates.cpp +++ b/source/game/GameStates.cpp @@ -27,15 +27,27 @@ void CMainMenuGameState::activate() { GameData::m_pGUIStack->setActiveDesktop(m_pDesktop); - if (GameData::m_pGameLayer) - GameData::m_pGameLayer->play(false); - - if (GameData::m_pGuiLayer) + if(GameData::m_pGuiLayer) { GameData::m_pGuiLayer->play(true); - if (GameData::m_pSoundPlayer) + if(GameData::m_pSoundPlayer) + { GameData::m_pSoundPlayer->play(); + } + } +} + +void CMainMenuGameState::deactivate() +{ + if(GameData::m_pGuiLayer) + { + GameData::m_pGuiLayer->play(false); + + if(GameData::m_pSoundPlayer) + { + GameData::m_pSoundPlayer->stop(); + } } } @@ -61,6 +73,31 @@ CIngameMenuGameState::~CIngameMenuGameState() void CIngameMenuGameState::activate() { GameData::m_pGUIStack->setActiveDesktop(m_pDesktop); + + if(GameData::m_pGuiLayer) + { + GameData::m_pGuiLayer->play(true); + + if(GameData::m_pSoundPlayer) + { + GameData::m_pSoundPlayer->play(); + } + } +} + +void CIngameMenuGameState::deactivate() +{ + GameData::m_pGUIStack->setActiveDesktop(m_pDesktop); + + if(GameData::m_pGuiLayer) + { + GameData::m_pGuiLayer->play(false); + + if(GameData::m_pSoundPlayer) + { + GameData::m_pSoundPlayer->stop(); + } + } } //########################################################################## @@ -76,15 +113,9 @@ void CIngameGameState::activate() SSInput_SetEnable(true); SPhysics_EnableSimulation(); - if (GameData::m_pGameLayer) - GameData::m_pGameLayer->play(true); - - if (GameData::m_pGuiLayer) + if(GameData::m_pGameLayer) { - GameData::m_pGuiLayer->play(false); - - if (GameData::m_pSoundPlayer) - GameData::m_pSoundPlayer->stop(); + GameData::m_pGameLayer->play(true); } } @@ -96,15 +127,9 @@ void CIngameGameState::deactivate() SSInput_SetEnable(false); SPhysics_DisableSimulation(); - if (GameData::m_pGameLayer) - GameData::m_pGameLayer->play(false); - - if (GameData::m_pGuiLayer) + if(GameData::m_pGameLayer) { - GameData::m_pGuiLayer->play(true); - - if (GameData::m_pSoundPlayer) - GameData::m_pSoundPlayer->play(); + GameData::m_pGameLayer->play(false); } } diff --git a/source/game/GameStates.h b/source/game/GameStates.h index da4364658..4e2329902 100644 --- a/source/game/GameStates.h +++ b/source/game/GameStates.h @@ -4,26 +4,28 @@ #include "IGameState.h" #include <gui/guimain.h> -class CMainMenuGameState: public IGameState +class CMainMenuGameState final: public IGameState { public: CMainMenuGameState(); ~CMainMenuGameState(); - void activate(); + void activate() override; + void deactivate() override; protected: - gui::IDesktop * m_pDesktop; + gui::IDesktop *m_pDesktop; }; -class CIngameMenuGameState: public IGameState +class CIngameMenuGameState final: public IGameState { public: CIngameMenuGameState(); ~CIngameMenuGameState(); - void activate(); + void activate() override; + void deactivate() override; protected: - gui::IDesktop * m_pDesktop; + gui::IDesktop *m_pDesktop; }; class CIngameGameState: public IGameState -- GitLab