| 183 | } |
| 184 | |
| 185 | void ActionManager::removeTargetActionHandle(std::unordered_map<Node*, ActionHandle>::iterator& actionIt) |
| 186 | { |
| 187 | auto& element = actionIt->second; |
| 188 | if (element.actions.contains(element.currentAction) && !element.currentActionSalvaged) |
| 189 | { |
| 190 | element.currentAction->retain(); |
| 191 | element.currentActionSalvaged = true; |
| 192 | } |
| 193 | |
| 194 | element.actions.clear(); |
| 195 | if (_currentTarget == &element) |
| 196 | { |
| 197 | _currentTargetSalvaged = true; |
| 198 | ++actionIt; |
| 199 | } |
| 200 | else |
| 201 | { |
| 202 | eraseTargetActionHandle(actionIt); |
| 203 | } |
| 204 | } |
| 205 | |
| 206 | void ActionManager::eraseTargetActionHandle(std::unordered_map<Node*, ActionHandle>::iterator& actionIt) |
| 207 | { |