BWAPI
quorum/ExampleAIModule/MilitaryProductionManagerAgent.h
Go to the documentation of this file.
00001 #ifndef MILPRODMANAGEMENT_H
00002 #define MILPRODMANAGEMENT_H
00003 #include <vector>
00004 #include "AgentBase.h"
00005 #include "MineralModel.h"
00006 #include "GasModel.h"
00007 #include "ConstructionAgent.h"
00008 #include "MilitaryProduction_GoalGeneratorHeaders.h"
00009 #include "GoalTypes.h"
00010 
00011 class AgentPool;
00012 //class SquadPool;
00013 
00014 class MilitaryProductionManagerAgent : public AgentBase {
00015 public:
00016         MilitaryProductionManagerAgent::MilitaryProductionManagerAgent(AgentPool* p);
00017         MilitaryProductionManagerAgent::MilitaryProductionManagerAgent();
00018         void MilitaryProductionManagerAgent::initialize();
00019         Arbitrator* MilitaryProductionManagerAgent::getInternalArbitrator();
00020         virtual void updateDrives();
00021         virtual Arbitrator* getArbitrator() { return internalArbitrator; };
00022         void registerProductionOrder(UnitOrder u);
00023         void determineActiveProductionGoals();
00024         void receiveAlert(UnitType t, bool buildOrDead, int id);
00025         void cleanUp();
00026         void advanceProductionProcess();
00027 
00028 private:
00029         AgentPool* agentPool;
00030         Arbitrator* internalArbitrator;
00031         Military_TrainMarineGoalGenerator* trainMarineGoal;
00032         Military_TrainMedicGoalGenerator* trainMedicGoal;
00033         Military_TrainTankGoalGenerator* trainTankGoal;
00034         Military_TrainFlyerGoalGenerator* trainWraithGoal;
00035         Military_TrainScienceVesselGoalGenerator* trainScienceVesselGoal;
00036         Military_TrainDropShipGoalGenerator* trainDropShipGoal;
00037         Military_TrainFireBatGoalGenerator* trainFireBatGoal;
00038         Military_TrainVultureGoalGenerator* trainVultureGoal;
00039         Military_TrainBattlecruiserGoalGenerator* trainBattleCruiserGoal;
00040         Military_TrainGoliathGoalGenerator* trainGoliathGoal;
00041         // Goal generators
00042         std::vector<std::pair<UnitType,int>> activeOrders;
00043         SquadReccomender* sqr;
00044 };
00045 #endif
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines