void User::updateBuffsEffect() { setMultiFightDelay(1); setMultiSpeed(1); for(auto buff:_buffs) { auto effectMap = buff->getEffectMap(); for(auto pair:effectMap) { auto type = pair.first; auto value = pair.second; if(type == "moveSpeed") { setMultiSpeed(value.asFloat()); } else if(type == "fightDelay") { setMultiFightDelay(value.asFloat()); } } } auto gameScene = dynamic_cast<GameScene*>(Director::sharedDirector()->getRunningScene()); if(gameScene != nullptr) { auto hud = gameScene->getHud(); hud->updateBuffList(); } }
CommandX* CommandEffect::clrHudEffect(float _duration) { m_eCommandType = E_CMD_CLR_HUD_EFFECT; m_pkOwnerNode = getHud(); m_fDuration = _duration; return this; }
CommandX* CommandEffect::delHudEffect(float _duration, const char* _title) { m_eCommandType = E_CMD_DEL_HUD_EFFECT; m_pkOwnerNode = getHud(); m_strTitle = _title; m_fDuration = _duration; return this; }
CommandX* CommandEffect::addHudEffect(float _duration, const char* _title) { m_eCommandType = E_CMD_ADD_HUD_EFFECT; m_pkOwnerNode = getHud(); m_strTitle = _title; setDurationAni(_duration, _title); return this; }
void EndlessWorld::checkpointReachedExtended(Boxx *box, int pos) { if (box == orderedOpponents.at(boxesNumber - 2) && player == orderedOpponents.back()) { player->deactivate(); G_getWorld()->gameIsOver(false); return; } if (box == player) { box->addPoint(); SoundManager::getInstance()->playEffect(R_MP3_punch); score++; box->positiveGateAction(); getHud()->pointsChanged(getSortedBoxesByScore()); } if (score == minliczbabramek && minliczbabramek != 0) { G_getWorld()->gameIsOver(true); return; } remainingGates++; }