BWAPI
quorum/ExampleAIModule/ConstructionAgent.h
Go to the documentation of this file.
00001 #ifndef CONAGENT_H
00002 #define CONAGENT_H
00003 #include "AgentBase.h"
00004 #include "BWAPI.h"
00005 #include "BuildingPlacer.h"
00006 #include <vector>
00007 
00008 using namespace BWAPI;
00009 
00010 class AgentPool;
00011 
00012 class ConstructionAgent : public AgentBase {
00013 public:
00014         ConstructionAgent::ConstructionAgent(AgentPool* p);
00015         virtual void updateDrives();
00016         virtual Arbitrator* getArbitrator() { return NULL; };
00017         bool ConstructionAgent::canBeConstructed(BWAPI::UnitType req);
00018         bool ConstructionAgent::canBeConstructed(BWAPI::UnitType req, BWAPI::Unit* worker);
00019         bool ConstructionAgent::canBeConstructed(BWAPI::UnitType req, BWAPI::Unit* worker, TilePosition t);
00020         Unit* ConstructionAgent::buildStructure(BWAPI::UnitType req);
00021         Unit* ConstructionAgent::buildStructure(BWAPI::UnitType req, BWAPI::TilePosition here);
00022         Unit* ConstructionAgent::buildStructure(BWAPI::UnitType req, BWAPI::TilePosition here, BWAPI::Unit* worker);
00023         Unit* ConstructionAgent::buildStructure(BWAPI::UnitType original, BWAPI::UnitType req, BWAPI::TilePosition nearhere, int minDistance, BWAPI::Unit* worker);
00024         Unit* ConstructionAgent::buildStructure(BWAPI::UnitType req, BWAPI::Unit* worker);
00025         Unit* ConstructionAgent::buildStructureAround(BWAPI::UnitType req, BWAPI::Unit* worker, BWAPI::TilePosition nearhere);
00026         Unit* ConstructionAgent::findAvailableWorker();
00027         Unit* ConstructionAgent::findAvailableWorkerNear(Position p, int radius);
00028         BuildingPlacer* ConstructionAgent::getBuildingPlacer();
00029 private:
00030         AgentPool* agentPool;
00031         BuildingPlacer* buildingPlacer;
00032         std::vector<BWAPI::Unit*> availableWorkers;
00033         int unitsAssigned;
00034         std::map<Unit*,Unit*> constructionMap;
00035 
00036 };
00037 #endif
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines