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;
	}
}
Example #2
0
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;
}