BWAPI
quorum/ExampleAIModule/ResourceManagerAgent.h
Go to the documentation of this file.
00001 #ifndef RESMANAGENT_H
00002 #define RESMANAGENT_H
00003 #include <vector>
00004 #include "AgentBase.h"
00005 #include "MineralModel.h"
00006 #include "GasModel.h"
00007 #include "ConstructionAgent.h"
00008 #include "Resource_GoalGeneratorHeaders.h"
00009 #include "GoalTypes.h"
00010 #include "BaseModel.h"
00011 
00012 class AgentPool;
00013 //class SquadPool;
00014 
00015 class ResourceManagerAgent : public AgentBase {
00016 public:
00017         ResourceManagerAgent::ResourceManagerAgent(AgentPool* p);
00018         ResourceManagerAgent::ResourceManagerAgent();
00019         void ResourceManagerAgent::initialize();
00020         void ResourceManagerAgent::reassignIdleWorkers();
00021         void ResourceManagerAgent::regulateGas();
00022         void ResourceManagerAgent::administerBases();
00023         Unit* ResourceManagerAgent::getFreeGas();
00024         int ResourceManagerAgent::getNumMinerals();
00025 
00026         Arbitrator* ResourceManagerAgent::getInternalArbitrator();
00027         virtual void updateDrives();
00028         virtual Arbitrator* getArbitrator() { return internalArbitrator; };
00029         int ResourceManagerAgent::getNumWorkersMining(BaseModel* m);
00030                 int ResourceManagerAgent::getNumWorkersGathering(BaseModel* m);
00031         std::vector<GoalGeneratorBase*> goalGenerators;
00032         std::vector<Unit*> ResourceManagerAgent::getWorkersAtBase(BaseModel* b);
00033 
00034 private:
00035         AgentPool* agentPool;
00036         Arbitrator* internalArbitrator;
00037         Unit* ResourceManagerAgent::getFreeMineralSlot(Position p);
00038         Unit* ResourceManagerAgent::getFreeMineralSlot(BaseModel* m);
00039         int numWorkers;
00040         int numMinerals;
00041 
00042 
00043 
00044         // Goal generators
00045         Resource_TrainWorkerGoalGenerator* trainWorkersGoalGenerator;
00046         Resource_BuildSupplyGoalGenerator* buildSupplyGoalGenerator;
00047         Resource_BuildRefineryGoalGenerator* buildRefineryGoalGenerator;
00048         Resource_BuildExpansionGoalGenerator* buildExpansionGoalGenerator;
00049         Resource_ClearObstructionsGoalGenerator* clearObstructionsGoalGenerator;
00050 
00051 };
00052 #endif
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines