// // StaticActionParser.cpp // SteveMaggieCpp // // Created by Katarzyna Kalinowska-Górska on 21.05.2017. // // #include #include "StaticActionParser.h" #include "SceneWithUtils.h" #include "SoundsRepo.h" #include "ResourceUtilities.h" const std::string StaticActionParser::ACTION_TYPE_PLAY_SOUND = "playSound"; const std::string StaticActionParser::ACTION_TYPE_DISMISS_DIALOG = "dismissDialog"; void StaticActionParser::parseStaticAction(const rapidjson::Value& actionJson) { if (actionJson.IsObject() && JSONParseUtils::hasMemberString(actionJson, "actionType")){ const auto& actionType = actionJson["actionType"].GetString(); if(ACTION_TYPE_PLAY_SOUND == actionType) { if(JSONParseUtils::hasMemberString(actionJson, "soundPath")){ // printf(ResourceUtilities::getInstance().getFullPathForDownloadedFile(actionJson["soundPath"].GetString(), false).c_str()); auto cancelOtherSounds = JSONParseUtils::checkMemberBool(actionJson, "cancelOtherSounds", true); SoundsRepo::playSound(ResourceUtilities::getInstance().getFullPathForDownloadedFile(actionJson["soundPath"].GetString(), false).c_str(), cancelOtherSounds); } } else if(ACTION_TYPE_DISMISS_DIALOG == actionType){ auto currentScene = dynamic_cast(cocos2d::Director::getInstance()->getRunningScene()); currentScene->dismissCurrentDialog(); } } }