#include "AudioEngine.h" #include "CtlAudioMgr.h" #include "RedWise.hpp" #include "CocosConfig.h" #include "cocos2d.h" using namespace cocos2d::experimental; NS_RU_BEGIN #define KEY_MUSIC_ENABLE "user.music.switch" #define KEY_SOUND_ENABLE "user.sound.switch" static CtlAudioMgr* g_CtlAudioMgr = nullptr; CtlAudioMgr* CtlAudioMgr::getInstance() { if (g_CtlAudioMgr == nullptr) { g_CtlAudioMgr = new (std::nothrow) CtlAudioMgr; } return g_CtlAudioMgr; } CtlAudioMgr::CtlAudioMgr() { } CtlAudioMgr::~CtlAudioMgr() { } bool CtlAudioMgr::getSoundEnabled() { return UserDefault::getInstance()->getBoolForKey(KEY_SOUND_ENABLE, true); } bool CtlAudioMgr::getMusicEnabled() { return UserDefault::getInstance()->getBoolForKey(KEY_MUSIC_ENABLE, true); } void CtlAudioMgr::setMusicEnabled(bool flag) { UserDefault::getInstance()->setBoolForKey(KEY_MUSIC_ENABLE, flag); } void CtlAudioMgr::setSoundEnabled(bool flag) { UserDefault::getInstance()->setBoolForKey(KEY_SOUND_ENABLE, flag); } void CtlAudioMgr::stopMusic() { if (_musicEnabled) { playEffect(_lastMusic + "end"); } } void CtlAudioMgr::playEffect(const string& effect) { if (_soundEnabled) { RedWise::getInstance()->postEvent(effect); } } void CtlAudioMgr::playMusic(const string& music) { if (_musicEnabled) { _lastMusic = music; playEffect(_lastMusic + "start"); } } NS_RU_END