BWAPI
|
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