本文整理汇总了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;未经允许,请勿转载。 |
请发表评论