void BattleFileReader::RemoveCommander(vector<Unit*> &units) { for ( unsigned int i = 0 ; i < units.size() ; i++ ) { UnitDef *d = units[i]->GetDef(); if(d->IsCommander()) { delete units[i]; units.erase(units.begin() + i); delete d; break; } delete d; } }
void GroupController::AddUnit(Unit *unit) { UnitDef* d = unit->GetDef(); if ( d->IsBuilder() ) { ConstructionGroupMgr->AddUnit( unit ); } else if ( d->IsAbleToAttack() ) { if ( d->IsCommander() ) { delete d; return; } MilitaryGroupMgr->AddUnit( unit ); } delete d; }