mirror of
https://github.com/vcmi/vcmi.git
synced 2025-03-19 21:10:12 +02:00
cleanup of CBonusSystemNode::removeBonusesRecursive
This commit is contained in:
parent
6263c4c3eb
commit
e455d97fc7
@ -791,14 +791,10 @@ void CBonusSystemNode::detachFrom(CBonusSystemNode *parent)
|
||||
CBonusSystemNode::treeHasChanged();
|
||||
}
|
||||
|
||||
void CBonusSystemNode::removeBonusesRecursive(const CSelector &s)
|
||||
void CBonusSystemNode::removeBonusesRecursive(const CSelector & s)
|
||||
{
|
||||
BonusList bl;
|
||||
exportedBonuses.getBonuses(bl, s, Selector::all);
|
||||
for(auto b : bl)
|
||||
removeBonus(b);
|
||||
|
||||
for(CBonusSystemNode *child : children)
|
||||
removeBonuses(s);
|
||||
for(CBonusSystemNode * child : children)
|
||||
child->removeBonusesRecursive(s);
|
||||
}
|
||||
|
||||
@ -850,10 +846,10 @@ void CBonusSystemNode::removeBonus(const std::shared_ptr<Bonus>& b)
|
||||
CBonusSystemNode::treeHasChanged();
|
||||
}
|
||||
|
||||
void CBonusSystemNode::removeBonuses(const CSelector &selector)
|
||||
void CBonusSystemNode::removeBonuses(const CSelector & selector)
|
||||
{
|
||||
BonusList toRemove;
|
||||
exportedBonuses.getBonuses(toRemove, selector);
|
||||
exportedBonuses.getBonuses(toRemove, selector, Selector::all);
|
||||
for(auto bonus : toRemove)
|
||||
removeBonus(bonus);
|
||||
}
|
||||
|
@ -709,8 +709,8 @@ public:
|
||||
void propagateBonus(std::shared_ptr<Bonus> b);
|
||||
void unpropagateBonus(std::shared_ptr<Bonus> b);
|
||||
void removeBonus(const std::shared_ptr<Bonus>& b);
|
||||
void removeBonuses(const CSelector &selector);
|
||||
void removeBonusesRecursive(const CSelector &s);
|
||||
void removeBonuses(const CSelector & selector);
|
||||
void removeBonusesRecursive(const CSelector & s);
|
||||
void newRedDescendant(CBonusSystemNode *descendant); //propagation needed
|
||||
void removedRedDescendant(CBonusSystemNode *descendant); //de-propagation needed
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user