BWAPI
|
00001 #ifndef OFFENSIVETACTICSMANAGERAGENT_H 00002 #define OFFENSIVETACTICSMANAGERAGENT_H 00003 #include "GoalDescriptor.h" 00004 #include "AgentPool.h" 00005 #include "GoalTypes.h" 00006 #include "SquadTacticsModel.h" 00007 #include "OffensiveTactics_GoalGeneratorHeaders.h" 00008 #include <vector> 00009 00010 00011 class OffensiveTacticsManagerAgent : public AgentBase { 00012 public: 00013 00014 OffensiveTacticsManagerAgent(AgentPool* p); 00015 void OffensiveTacticsManagerAgent::recruitSquad(Squad* s); 00016 void OffensiveTacticsManagerAgent::relinquish(SquadTacticsModel* s); 00017 Arbitrator* OffensiveTacticsManagerAgent::getInternalArbitrator(); 00018 void OffensiveTacticsManagerAgent::pushTargetOfOpportunity(int goal, Unit* reporter, Unit* target) ; 00019 00020 00021 00022 virtual void updateDrives(); 00023 virtual Arbitrator* getArbitrator() { return internalArbitrator; }; 00024 00025 00026 00027 private: 00028 AgentPool* agentPool; 00029 std::vector<SquadTacticsModel*> activeSquads; 00030 Squad* returnPosition; 00031 Arbitrator* internalArbitrator; 00032 OffensiveTactics_LandAttackGoalGenerator* marineRushGoalGenerator; 00033 OffensiveTactics_GasSteal* gasStealGoalGenerator; 00034 OffensiveTactics_ScannerSweepGoalGenerator* scanPOIGoalGenerator; 00035 }; 00036 00037 00038 #endif