BWAPI
quorum/ExampleAIModule/SquadManagerAgent.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines