BaseAgent* TransportAgent::findUnitToLoad(int spaceLimit) { BaseAgent* agent = NULL; double bestDist = 100000; Squad* sq = Commander::getInstance()->getSquad(squadID); if (sq != NULL) { vector<BaseAgent*> agents = sq->getMembers(); for (int i = 0; i < (int)agents.size(); i++) { BaseAgent* a = agents.at(i); if (isValidLoadUnit(a)) { double cDist = unit->getPosition().getDistance(a->getUnit()->getPosition()); if (cDist < bestDist) { bestDist = cDist; agent = a; } } } } return agent; }
BaseAgent* TransportAgent::findUnitToLoad(int spaceLimit) { BaseAgent* agent = NULL; double bestDist = 100000; Squad* sq = Commander::getInstance()->getSquad(squadID); if (sq != NULL) { Agentset agents = sq->getMembers(); for (auto &a : agents) { if (isValidLoadUnit(a)) { double cDist = unit->getPosition().getDistance(a->getUnit()->getPosition()); if (cDist < bestDist) { bestDist = cDist; agent = a; } } } } return agent; }