| 16 | } |
| 17 | |
| 18 | bool BattleForces::insertAt(unsigned squad, unsigned position, sp<BattleUnit> unit) |
| 19 | { |
| 20 | if (squads[squad].getNumUnits() == 6 && unit->squadNumber != (int)squad) |
| 21 | { |
| 22 | return false; |
| 23 | } |
| 24 | if (unit->squadNumber != -1) |
| 25 | { |
| 26 | removeAt(unit->squadNumber, unit->squadPosition); |
| 27 | } |
| 28 | if (position > squads[squad].units.size()) |
| 29 | { |
| 30 | position = (unsigned)squads[squad].units.size(); |
| 31 | } |
| 32 | squads[squad].units.insert(squads[squad].units.begin() + position, unit); |
| 33 | unit->squadNumber = squad; |
| 34 | for (int i = 0; i < squads[squad].getNumUnits(); i++) |
| 35 | { |
| 36 | squads[squad].units[i]->squadPosition = i; |
| 37 | } |
| 38 | return true; |
| 39 | } |
| 40 | |
| 41 | void BattleForces::removeAt(unsigned squad, unsigned position) |
| 42 | { |
no test coverage detected