BWAPI
|
00001 #ifndef SquadManagerAgent_H 00002 #define SquadManagerAgent_H 00003 #include "GoalDescriptor.h" 00004 #include "AgentPool.h" 00005 #include "GoalTypes.h" 00006 #include "SquadTacticsModel.h" 00007 #include "UnitOrder.h" 00008 #include "TacticsImplementations.h" 00009 #include "CrawlingBallAttack.h" 00010 #include <vector> 00011 00012 00013 class SquadManagerAgent : public AgentBase { 00014 public: 00015 00016 SquadManagerAgent(AgentPool* p, SquadPool* sp); 00017 SquadTacticsModel* SquadManagerAgent::recruitSquad(UnitOrder u); 00018 SquadTacticsModel* SquadManagerAgent::recruitSquad(Squad* s, int tactic); 00019 std::vector<Unit*> SquadManagerAgent::recruitReinforcements(UnitType u, int num); 00020 bool SquadManagerAgent::isUnitInSquads(int s); 00021 void SquadManagerAgent::freeUnit(Unit* u); 00022 void SquadManagerAgent::relinquish(SquadTacticsModel* s); 00023 void SquadManagerAgent::activateSquad(SquadTacticsModel* s); 00024 void SquadManagerAgent::alertNewUnit(Unit* s); 00025 bool SquadManagerAgent::isUnitInSquads(Unit* s); 00026 SquadTacticsModel* SquadManagerAgent::getActiveSquad(int tactic); 00027 virtual void updateDrives(); 00028 virtual Arbitrator* getArbitrator() { return NULL; }; 00029 virtual Arbitrator* getInternalArbitrator() { return NULL; }; 00030 void SquadManagerAgent::alertAirSquadrons(Unit* target); 00031 00032 00033 00034 private: 00035 AgentPool* agentPool; 00036 std::vector<SquadTacticsModel*> activeSquads; 00037 SquadPool* allSquads; 00038 Squad* returnPosition; 00039 int squadID; 00040 00041 00042 00043 }; 00044 00045 00046 #endif