BWAPI
|
00001 #ifndef SQUAD_H 00002 #define SQUAD_H 00003 #include <iostream> 00004 #include <vector> 00005 #include <BWAPI.h> 00006 00007 class TacticsImplementation; 00008 00009 using namespace BWAPI; 00010 class Squad { 00011 public: 00012 Squad::Squad(std::string name, int s); 00013 Squad::Squad(std::string name, std::vector<Unit*> units, int s); 00014 void Squad::addUnit(Unit* u); 00015 void Squad::forceUnit(Unit* u); 00016 std::vector<Unit*> Squad::getUnits(); 00017 std::string name(); 00018 Unit* Squad::getUnitAt(int x); 00019 void Squad::removeUnitAt(unsigned int u); 00020 void Squad::removeUnit(Unit* u); 00021 bool Squad::containsUnit(Unit* u); 00022 std::vector<Unit*> Squad::getLivingUnits(); 00023 void Squad::alertTacticsImplementation(Unit* u); 00024 TacticsImplementation* Squad::getTacticsImplementation(); 00025 void Squad::attachTacticsImplementation(TacticsImplementation* t); 00026 00027 Position Squad::getMostCentralElement(Unit* u); 00028 Position Squad::getMostCentralElement(); 00029 bool Squad::canMaintainCentralPosition(Unit* u); 00030 bool Squad::allMembersInPosition(); 00031 00032 private: 00033 std::string squadName; 00034 std::vector<Unit*> members; 00035 TacticsImplementation* tactics; 00036 int squadCohesion; 00037 00038 }; 00039 #endif