metaforce/Runtime/MP1/CAudioStateWin.cpp

30 lines
1.1 KiB
C++
Raw Permalink Normal View History

2016-09-13 22:45:46 -07:00
#include "CAudioStateWin.hpp"
#include "Runtime/CArchitectureMessage.hpp"
#include "Runtime/CArchitectureQueue.hpp"
#include "Runtime/CGameState.hpp"
#include "Runtime/GameGlobalObjects.hpp"
#include "Runtime/Audio/CSfxManager.hpp"
#include "Runtime/MP1/MP1.hpp"
2016-09-13 22:45:46 -07:00
2021-04-10 01:42:06 -07:00
namespace metaforce::MP1 {
2016-09-13 22:45:46 -07:00
2018-12-07 21:30:43 -08:00
CIOWin::EMessageReturn CAudioStateWin::OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue) {
CMain* m = static_cast<CMain*>(g_Main);
2018-12-07 21:30:43 -08:00
const EArchMsgType msgType = msg.GetType();
if (msgType == EArchMsgType::SetGameState) {
CSfxManager::KillAll(CSfxManager::ESfxChannels::Game);
CSfxManager::TurnOnChannel(CSfxManager::ESfxChannels::Game);
} else if (msgType == EArchMsgType::QuitGameplay) {
if (g_GameState->GetWorldTransitionManager()->GetTransType() == CWorldTransManager::ETransType::Disabled ||
m->GetFlowState() != EClientFlowStates::None) {
2018-12-07 21:30:43 -08:00
CSfxManager::SetChannel(CSfxManager::ESfxChannels::Default);
CSfxManager::KillAll(CSfxManager::ESfxChannels::Game);
2016-09-13 22:45:46 -07:00
}
2018-12-07 21:30:43 -08:00
}
return EMessageReturn::Normal;
2016-09-13 22:45:46 -07:00
}
2021-04-10 01:42:06 -07:00
} // namespace metaforce::MP1