| 86 | } |
| 87 | |
| 88 | bool ActionManager::removeActionsByTagFromTarget( Node* target, const Action::UniqueID& tag ) { |
| 89 | std::vector<Action*> removeList; |
| 90 | |
| 91 | { |
| 92 | Lock l( mMutex ); |
| 93 | for ( auto it = mActions.begin(); it != mActions.end(); ++it ) { |
| 94 | Action* action = *it; |
| 95 | |
| 96 | if ( action->getTarget() == target && action->getTag() == tag ) { |
| 97 | removeList.emplace_back( *it ); |
| 98 | } |
| 99 | } |
| 100 | } |
| 101 | |
| 102 | for ( auto it = removeList.begin(); it != removeList.end(); ++it ) |
| 103 | removeAction( *it ); |
| 104 | |
| 105 | return !removeList.empty(); |
| 106 | } |
| 107 | |
| 108 | void ActionManager::update( const Time& time, Action** actions, size_t count ) { |
| 109 | std::vector<Action*> removeList; |