// // AniStaticActionParser.cpp // SteveMaggieCpp // // Created by Katarzyna Kalinowska-Górska on 21.05.2017. // // #include #include "AniStaticActionParser.h" #include "AniSceneWithUtils.h" #include "AniSoundsRepo.h" #include "AniResourceUtilities.h" const std::string AniStaticActionParser::ACTION_TYPE_PLAY_SOUND = "playSound"; const std::string AniStaticActionParser::ACTION_TYPE_DISMISS_DIALOG = "dismissDialog"; void AniStaticActionParser::parseStaticAction(const rapidjson::Value& actionJson) { if (actionJson.IsObject() && AniJSONParseUtils::hasMemberString(actionJson, "actionType")){ const auto& actionType = actionJson["actionType"].GetString(); if(ACTION_TYPE_PLAY_SOUND == actionType) { if(AniJSONParseUtils::hasMemberString(actionJson, "soundPath")){ // printf(AniResourceUtilities::getInstance().getFullPathForDownloadedFile(actionJson["soundPath"].GetString(), false).c_str()); auto cancelOtherSounds = AniJSONParseUtils::checkMemberBool(actionJson, "cancelOtherSounds", true); AniSoundsRepo::playSound(AniResourceUtilities::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(); } } }