• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ removeEffect函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中removeEffect函数的典型用法代码示例。如果您正苦于以下问题:C++ removeEffect函数的具体用法?C++ removeEffect怎么用?C++ removeEffect使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了removeEffect函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: if

void EffectManager::clearNegativeEffects() {
	for (unsigned i=effect_list.size(); i > 0; i--) {
		if (effect_list[i-1].type == "damage") removeEffect(i-1);
		else if (effect_list[i-1].type == "speed" && effect_list[i-1].magnitude_max < 100) removeEffect(i-1);
		else if (effect_list[i-1].type == "stun") removeEffect(i-1);
	}
}
开发者ID:Gallaecio,项目名称:flare-engine,代码行数:7,代码来源:EffectManager.cpp


示例2: openRumble

void NeoVibrateAccessory::setVibrateNow(const bool value, int timeoutMs, int strength)
{
    struct input_event event;

    //qLog(Modem) << "setVibrateNow " << value << ", timeoutMs=" << timeoutMs << ", strength=" << strength;

    if (value && rumbleFd < 0)
        rumbleFd = openRumble();

    if (rumbleFd < 0)
        return;

    if (value && effectId < 0)
        effectId = uploadEffect(rumbleFd, (quint16)(strength), timeoutMs);

    if (effectId < 0)
        return;

    // Play/stop the effect
    event.type = EV_FF;
    event.code = effectId;
    event.value = (value ? 1 : 0);

    if (write(rumbleFd, (const void *)&event, sizeof(event)) == -1) {
        perror("rumble write");
    }

    if (!value)
        removeEffect(rumbleFd, effectId, true);

    QVibrateAccessoryProvider::setVibrateNow(value);
}
开发者ID:tbe,项目名称:qtmoko,代码行数:32,代码来源:vendor_neo.cpp


示例3: bringDownTheWall

void Exit::doDispelMagic(BaseRoom* parent) {
    bringDownTheWall(getEffect("wall-of-fire"), parent, this);
    bringDownTheWall(getEffect("wall-of-thorns"), parent, this);

    // true we'll show, false don't remove perm effects
    removeEffect("concealed", true, false);
}
开发者ID:RealmsMud,项目名称:RealmsCode,代码行数:7,代码来源:abjuration.cpp


示例4: getType

void EffectManager::addEffect(EffectDef &effect, int duration, int magnitude, bool item, int trigger, int passive_id, int source_type) {
	int effect_type = getType(effect.type);

	// if we're already immune, don't add negative effects
	if (immunity_damage && (effect_type == EFFECT_DAMAGE || effect_type == EFFECT_DAMAGE_PERCENT))
		return;
	else if (immunity_slow && effect_type == EFFECT_SPEED && magnitude < 100)
		return;
	else if (immunity_stun && effect_type == EFFECT_STUN)
		return;
	else if (immunity_knockback && effect_type == EFFECT_KNOCKBACK)
		return;

	// only allow one knockback effect at a time
	if (effect_type == EFFECT_KNOCKBACK && knockback_speed != 0)
		return;

	for (size_t i=effect_list.size(); i>0; i--) {
		if (effect_list[i-1].name == effect.id) {
			if (trigger > -1 && effect_list[i-1].trigger == trigger)
				return; // trigger effects can only be cast once per trigger

			if (!effect.can_stack)
				removeEffect(i-1);
		}
		// if we're adding an immunity effect, remove all negative effects
		if (effect_type == EFFECT_IMMUNITY)
			clearNegativeEffects();
		else if (effect_type == EFFECT_IMMUNITY_DAMAGE)
			clearNegativeEffects(EFFECT_IMMUNITY_DAMAGE);
		else if (effect_type == EFFECT_IMMUNITY_SLOW)
			clearNegativeEffects(EFFECT_IMMUNITY_SLOW);
		else if (effect_type == EFFECT_IMMUNITY_STUN)
			clearNegativeEffects(EFFECT_IMMUNITY_STUN);
		else if (effect_type == EFFECT_IMMUNITY_KNOCKBACK)
			clearNegativeEffects(EFFECT_IMMUNITY_KNOCKBACK);
	}

	Effect e;

	e.name = effect.id;
	e.icon = effect.icon;
	e.type = effect_type;
	e.render_above = effect.render_above;

	if (effect.animation != "") {
		anim->increaseCount(effect.animation);
		e.animation = loadAnimation(effect.animation);
		e.animation_name = effect.animation;
	}

	e.ticks = e.duration = duration;
	e.magnitude = e.magnitude_max = magnitude;
	e.item = item;
	e.trigger = trigger;
	e.passive_id = passive_id;
	e.source_type = source_type;

	effect_list.push_back(e);
}
开发者ID:LungTakumi,项目名称:flare-engine,代码行数:60,代码来源:EffectManager.cpp


示例5: removeEffect

void EffectManager::clearEffects() {
	for (unsigned i=effect_list.size(); i > 0; i--) {
		removeEffect(i-1);
	}

	// clear triggers
	triggered_others = triggered_block = triggered_hit = triggered_halfdeath = triggered_joincombat = triggered_death = false;
}
开发者ID:Gallaecio,项目名称:flare-engine,代码行数:8,代码来源:EffectManager.cpp


示例6: getAsPlayer

void Creature::removeStatEffects() {
    Player* pThis = getAsPlayer();
    if(pThis) {
        pThis->loseRage();
        pThis->loseFrenzy();
        pThis->losePray();
    }
    removeEffect("strength");
    removeEffect("enfeeblement");
    removeEffect("haste");
    removeEffect("slow");
    removeEffect("fortitude");
    removeEffect("weakness");
    removeEffect("insight");
    removeEffect("feeblemind");
    removeEffect("prayer");
    removeEffect("damnation");
}
开发者ID:RealmsMud,项目名称:RealmsCode,代码行数:18,代码来源:healmagic.cpp


示例7: removeEffect

/**
 * Update this entity's status.
 *
 * Decreases remaining effect durations for entities. Overloading
 * implementations should call this method in their base class to ensure that
 * all time-related processing is completed.
 * @param[in] deferred A vector of actions to be taken some time after
 * the entity's present map has finished ticking.
 * @return true if this entity should be removed from its containing map, false
 * otherwise. The default implementation is guaranteed to return false
 */
bool Entity::tick(std::vector<std::function<void()> > &deferred)
{
    for (int i = 0; i < StatusEffect::SE_KINDS; i++) {
        if (effects[i] && effects[i]->tick(this) <= 0) {
            removeEffect((StatusEffect::Kind) i);
        }
    }

    return false;
}
开发者ID:renaissance-da,项目名称:server,代码行数:21,代码来源:Entity.cpp


示例8: disconnect

void MTexturePixmapPrivate::installEffect(MCompositeWindowShaderEffect* effect)
{
    if (effect == prev_effect)
        return;

    if (prev_effect) {
        disconnect(prev_effect, SIGNAL(enabledChanged(bool)), this,
                   SLOT(activateEffect(bool)));
        disconnect(prev_effect, SIGNAL(destroyed()), this,
                   SLOT(removeEffect()));
    }
    current_effect = effect;
    prev_effect = effect;
    if (effect) {
        connect(effect, SIGNAL(enabledChanged(bool)),
                SLOT(activateEffect(bool)), Qt::UniqueConnection);
        connect(effect, SIGNAL(destroyed()), SLOT(removeEffect()),
                Qt::UniqueConnection);
    }
}
开发者ID:arcean,项目名称:meegotouch-compositor,代码行数:20,代码来源:mtexturepixmapitem_p.cpp


示例9: assert

bool Entity::removeEffectId(int seid)
{
    BaseEffect *be = BaseEffect::getById(seid);
    assert(be);
    if (be) {
        if (effects[be->kind] && effects[be->kind]->getId() == seid) {
            return removeEffect((StatusEffect::Kind) be->kind);
        }
    }
    return false;
}
开发者ID:renaissance-da,项目名称:server,代码行数:11,代码来源:Entity.cpp


示例10: QgsPanelWidget

QgsEffectStackPropertiesWidget::QgsEffectStackPropertiesWidget( QgsEffectStack *stack, QWidget *parent )
    : QgsPanelWidget( parent )
    , mStack( stack )
    , mPreviewPicture( nullptr )
{

// TODO
#ifdef Q_OS_MAC
  //setWindowModality( Qt::WindowModal );
#endif

  mPresentWidget = nullptr;

  setupUi( this );

  mAddButton->setIcon( QIcon( QgsApplication::iconPath( "symbologyAdd.svg" ) ) );
  mRemoveButton->setIcon( QIcon( QgsApplication::iconPath( "symbologyRemove.svg" ) ) );
  mUpButton->setIcon( QIcon( QgsApplication::iconPath( "symbologyUp.svg" ) ) );
  mDownButton->setIcon( QIcon( QgsApplication::iconPath( "symbologyDown.svg" ) ) );

  mModel = new QStandardItemModel();
  // Set the effect
  mEffectsList->setModel( mModel );

  QItemSelectionModel* selModel = mEffectsList->selectionModel();
  connect( selModel, SIGNAL( currentChanged( const QModelIndex&, const QModelIndex& ) ), this, SLOT( effectChanged() ) );

  loadStack( stack );
  updatePreview();

  connect( mUpButton, SIGNAL( clicked() ), this, SLOT( moveEffectUp() ) );
  connect( mDownButton, SIGNAL( clicked() ), this, SLOT( moveEffectDown() ) );
  connect( mAddButton, SIGNAL( clicked() ), this, SLOT( addEffect() ) );
  connect( mRemoveButton, SIGNAL( clicked() ), this, SLOT( removeEffect() ) );

  updateUi();

  // set first selected effect as active item in the tree
  int initialRow = 0;
  for ( int i = 0; i < stack->count(); ++i )
  {
    // list shows effects in opposite order to stack
    if ( stack->effect( stack->count() - i - 1 )->enabled() )
    {
      initialRow = i;
      break;
    }
  }
  QModelIndex newIndex = mEffectsList->model()->index( initialRow, 0 );
  mEffectsList->setCurrentIndex( newIndex );

  setPanelTitle( tr( "Effects Properties" ) );
}
开发者ID:map0logo,项目名称:QGIS,代码行数:53,代码来源:qgseffectstackpropertieswidget.cpp


示例11: response

bool EngineEffectChain::processEffectsRequest(const EffectsRequest& message,
                                              EffectsResponsePipe* pResponsePipe) {
    EffectsResponse response(message);
    switch (message.type) {
        case EffectsRequest::ADD_EFFECT_TO_CHAIN:
            if (kEffectDebugOutput) {
                qDebug() << debugString() << "ADD_EFFECT_TO_CHAIN"
                         << message.AddEffectToChain.pEffect
                         << message.AddEffectToChain.iIndex;
            }
            response.success = addEffect(message.AddEffectToChain.pEffect,
                                         message.AddEffectToChain.iIndex);
            break;
        case EffectsRequest::REMOVE_EFFECT_FROM_CHAIN:
            if (kEffectDebugOutput) {
                qDebug() << debugString() << "REMOVE_EFFECT_FROM_CHAIN"
                         << message.RemoveEffectFromChain.pEffect
                         << message.RemoveEffectFromChain.iIndex;
            }
            response.success = removeEffect(message.RemoveEffectFromChain.pEffect,
                                            message.RemoveEffectFromChain.iIndex);
            break;
        case EffectsRequest::SET_EFFECT_CHAIN_PARAMETERS:
            if (kEffectDebugOutput) {
                qDebug() << debugString() << "SET_EFFECT_CHAIN_PARAMETERS"
                         << "enabled" << message.SetEffectChainParameters.enabled
                         << "mix" << message.SetEffectChainParameters.mix;
            }
            response.success = updateParameters(message);
            break;
        case EffectsRequest::ENABLE_EFFECT_CHAIN_FOR_CHANNEL:
            if (kEffectDebugOutput) {
                qDebug() << debugString() << "ENABLE_EFFECT_CHAIN_FOR_CHANNEL"
                         << message.channel;
            }
            response.success = enableForChannel(message.channel);
            break;
        case EffectsRequest::DISABLE_EFFECT_CHAIN_FOR_CHANNEL:
            if (kEffectDebugOutput) {
                qDebug() << debugString() << "DISABLE_EFFECT_CHAIN_FOR_CHANNEL"
                         << message.channel;
            }
            response.success = disableForChannel(message.channel);
            break;
        default:
            return false;
    }
    pResponsePipe->writeMessages(&response, 1);
    return true;
}
开发者ID:PetrBarborka,项目名称:mixxx,代码行数:50,代码来源:engineeffectchain.cpp


示例12: removeEffect

    //-----------------------------------------------------------------------
    void TextureUnitState::setScrollAnimation(Real uSpeed, Real vSpeed)
    {
        // Remove existing effects
        removeEffect(ET_UVSCROLL);
        removeEffect(ET_USCROLL);
        removeEffect(ET_VSCROLL);

        // don't create an effect if the speeds are both 0
        if(uSpeed == 0.0f && vSpeed == 0.0f) 
        {
          return;
        }

        // Create new effect
        TextureEffect eff;
	if(uSpeed == vSpeed) 
	{
		eff.type = ET_UVSCROLL;
		eff.arg1 = uSpeed;
		addEffect(eff);
	}
	else
	{
		if(uSpeed)
		{
			eff.type = ET_USCROLL;
        eff.arg1 = uSpeed;
        addEffect(eff);
    }
		if(vSpeed)
		{
			eff.type = ET_VSCROLL;
			eff.arg1 = vSpeed;
			addEffect(eff);
		}
	}
    }
开发者ID:Anti-Mage,项目名称:ogre,代码行数:38,代码来源:OgreTextureUnitState.cpp


示例13: while

//---------------------------------------------------------------------------//
RenderEffectManager::~RenderEffectManager()
{
    // Destroy any RenderEffect objects we created that still exist.
    while (!d_effects.empty())
        destroy(*d_effects.begin()->first);

    // Remove (destroy) all the RenderEffectFactory objects.
    while (!d_effectRegistry.empty())
        removeEffect(d_effectRegistry.begin()->first);

    char addr_buff[32];
    sprintf(addr_buff, "(%p)", static_cast<void*>(this));
    Logger::getSingleton().logEvent(
        "CEGUI::RenderEffectManager singleton destroyed " + String(addr_buff));
}
开发者ID:OpenTechEngine-Libraries,项目名称:CEGUI,代码行数:16,代码来源:RenderEffectManager.cpp


示例14: addEffect

    //-----------------------------------------------------------------------
    void TextureUnitState::setEnvironmentMap(bool enable, EnvMapType envMapType)
    {
        if (enable)
        {
            TextureEffect eff;
            eff.type = ET_ENVIRONMENT_MAP;

            eff.subtype = envMapType;
            addEffect(eff);
        }
        else
        {
            removeEffect(ET_ENVIRONMENT_MAP);
        }
    }
开发者ID:Anti-Mage,项目名称:ogre,代码行数:16,代码来源:OgreTextureUnitState.cpp


示例15: removeEffect

void EffectManager::removeEffectID(const std::vector< std::pair<std::string, int> >& remove_effects) {
	for (size_t i = 0; i < remove_effects.size(); i++) {
		int count = remove_effects[i].second;
		bool remove_all = (count == 0 ? true : false);

		for (size_t j = effect_list.size(); j > 0; j--) {
			if (!remove_all && count <= 0)
				break;

			if (effect_list[j-1].id == remove_effects[i].first) {
				removeEffect(j-1);
				count--;
			}
		}
	}
}
开发者ID:igorko,项目名称:flare-engine,代码行数:16,代码来源:EffectManager.cpp


示例16: removeEffect

void Attribute::update(float dt)
{
    if(!mEffectList.empty())
    {
        int i = 0;
        cocos2d::Vector<IEffect*> toRemoveEffectList;
        for( ; i < mEffectList.size(); i++ )
        {
            auto pEffect = mEffectList.at(i);
            pEffect->updateEffectStatus(dt);
            if(pEffect->getEffectStatus()  == EffectStatus::OVERDUE)
            {
                toRemoveEffectList.pushBack(pEffect);
            }
        }
        int j = 0;
        for(; j < toRemoveEffectList.size(); j++ )
        {
            auto pToRemoveEffect = toRemoveEffectList.at(j);
            removeEffect(pToRemoveEffect);
        }
        
        if(mIsAttributeDirty)
        {
            mIsAttributeDirty = false;
            int i = 0;
            mAfterEffectValue = mBaseValue;
            mIsLockIncrease = false; //恢复默认状态
            mIsLockDecrease = false; //恢复默认状态
            sortAllEffect();
            for( ; i < mEffectList.size(); i++ )
            {
                auto pEffect = mEffectList.at(i);
                if(pEffect->getEffectStatus() == EffectStatus::EFFECTING)
                {
                    pEffect->calcuAfterEffectValue();
                }
            }
            
        }
    }
}
开发者ID:ourgames,项目名称:MiniGames,代码行数:42,代码来源:Attribute.cpp


示例17: QWidget

QgsEffectStackPropertiesWidget::QgsEffectStackPropertiesWidget( QgsEffectStack *stack, QWidget *parent )
    : QWidget( parent )
    , mStack( stack )
    , mPreviewPicture( 0 )
{

// TODO
#ifdef Q_OS_MAC
  //setWindowModality( Qt::WindowModal );
#endif

  mPresentWidget = NULL;

  setupUi( this );

  mAddButton->setIcon( QIcon( QgsApplication::iconPath( "symbologyAdd.svg" ) ) );
  mRemoveButton->setIcon( QIcon( QgsApplication::iconPath( "symbologyRemove.svg" ) ) );
  mUpButton->setIcon( QIcon( QgsApplication::iconPath( "symbologyUp.svg" ) ) );
  mDownButton->setIcon( QIcon( QgsApplication::iconPath( "symbologyDown.svg" ) ) );

  mModel = new QStandardItemModel();
  // Set the effect
  mEffectsList->setModel( mModel );

  QItemSelectionModel* selModel = mEffectsList->selectionModel();
  connect( selModel, SIGNAL( currentChanged( const QModelIndex&, const QModelIndex& ) ), this, SLOT( effectChanged() ) );

  loadStack( stack );
  updatePreview();

  connect( mUpButton, SIGNAL( clicked() ), this, SLOT( moveEffectUp() ) );
  connect( mDownButton, SIGNAL( clicked() ), this, SLOT( moveEffectDown() ) );
  connect( mAddButton, SIGNAL( clicked() ), this, SLOT( addEffect() ) );
  connect( mRemoveButton, SIGNAL( clicked() ), this, SLOT( removeEffect() ) );

  updateUi();

  // set effect as active item in the tree
  QModelIndex newIndex = mEffectsList->model()->index( 0, 0 );
  mEffectsList->setCurrentIndex( newIndex );
}
开发者ID:Margaral,项目名称:QGIS,代码行数:41,代码来源:qgseffectstackpropertieswidget.cpp


示例18: CHECK_EFFECT_IDX

bool SDL2FFBDevice::removeAndEraseEffect(const int idx)
{
  CHECK_EFFECT_IDX(idx);

  if (m_effects[idx]->status() == FFBEffect::FFBEffectStatus::NOT_LOADED)
    return true;

  if (removeEffect(idx)) {
    m_effects[idx] = SDL2FFBEffectFactory::createEffect(FFBEffectTypes::NONE);
    if (m_effects[idx]->type() != FFBEffectTypes::NONE) {
      qCritical("Unable to empty the effect slot.");
      return false;
    }
  } else {
    qCritical("Unable to stop the effect.");
    return false;
  }

  m_effects[idx]->setStatus(FFBEffect::FFBEffectStatus::NOT_LOADED);
  return true;
}
开发者ID:MadCatX,项目名称:FFBChecker,代码行数:21,代码来源:sdl2ffbdevice.cpp


示例19: removeEffect

bool Player::checkOppositeResistSpell(bstring effect) {
    if(effect == "resist-cold" )
        removeEffect("resist-fire");
    else if(effect == "resist-fire" )
        removeEffect("resist-cold");
    else if(effect == "resist-earth" )
        removeEffect("resist-air");
    else if(effect == "resist-air" )
        removeEffect("resist-earth");
    else if(effect == "resist-water" )
        removeEffect("resist-electric");
    else if(effect == "resist-electric" )
        removeEffect("resist-water");
    else
        return(false);

    return(true);
}
开发者ID:RealmsMud,项目名称:RealmsCode,代码行数:18,代码来源:realms.cpp


示例20: ceil

void Entity::struck(Entity *eatk, float dmg)
{
    int idmg;
    if (dmg > 1000000000.0)
        idmg = 1000000000;
    else
        idmg = (int) ceil(dmg);

    if (effects[StatusEffect::INVULNERABILITY]) {
        //cant strike me
        return;
    }

    if (effects[StatusEffect::SLEEP]) {
        idmg <<= 1;
        removeEffect(StatusEffect::SLEEP);
    }

    this->damage(eatk, idmg);

    m->forEachNearby(this, [&](Entity *e) {
        e->entityStruck(this, this->getDispHp(), 1);
    });
}
开发者ID:renaissance-da,项目名称:server,代码行数:24,代码来源:Entity.cpp



注:本文中的removeEffect函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ removeEntity函数代码示例发布时间:2022-05-30
下一篇:
C++ removeChildComponent函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap