CGroup* CMilitary::requestGroup(MilitaryGroupBehaviour type) { CGroup *group = ReusableObjectFactory<CGroup>::Instance(); group->ai = ai; group->reset(); group->reg(*this); LOG_II("CMilitary::requestGroup " << (*group)) switch(type) { case SCOUT: activeScoutGroups[group->key] = group; break; case BOMBER: activeBomberGroups[group->key] = group; break; case ENGAGE: activeAttackGroups[group->key] = group; break; case AIRFIGHTER: activeAirFighterGroups[group->key] = group; break; default: LOG_EE("CMilitary::requestGroup invalid group behaviour: " << type) } return group; }
CGroup* CEconomy::requestGroup() { CGroup *group = ReusableObjectFactory<CGroup>::Instance(); group->ai = ai; group->reset(); group->reg(*this); activeGroups[group->key] = group; return group; }