BWAPI
|
00001 #ifndef RESEARCHAGENT_H 00002 #define RESEARCHAGENT_H 00003 #include "AgentBase.h" 00004 #include "BWAPI.h" 00005 #include <vector> 00006 #include "Research_BioUtilHeaders.h" 00007 #include "Research_BioAttackAndDefenseHeaders.h" 00008 #include "Research_BuildingUpgradeHeaders.h" 00009 #include "Research_MechUtilHeaders.h" 00010 #include "Research_MechAttackAndDefenseHeaders.h" 00011 00012 using namespace BWAPI; 00013 00014 class AgentPool; 00015 00016 class ResearchManagerAgent : public AgentBase { 00017 public: 00018 ResearchManagerAgent::ResearchManagerAgent(AgentPool* p); 00019 ResearchManagerAgent::ResearchManagerAgent(); 00020 virtual void updateDrives(); 00021 virtual Arbitrator* getArbitrator() { return internalArbitrator; }; 00022 00023 Arbitrator* ResearchManagerAgent::getInternalArbitrator(); 00024 00025 bool ResearchManagerAgent::canBeResearched(BWAPI::TechType req); 00026 Unit* ResearchManagerAgent::researchTech(BWAPI::TechType req); 00027 00028 bool ResearchManagerAgent::canBeUpgraded(BWAPI::UpgradeType req); 00029 Unit* ResearchManagerAgent::upgradeTech(BWAPI::UpgradeType req); 00030 00031 private: 00032 AgentPool* agentPool; 00033 Arbitrator* internalArbitrator; 00034 Research_StimPacksGoalGenerator* bioTechWeaponUpgradesGoalGenerator; 00035 Research_BioAttackGoalGenerator* bioTechAttackUpgradesGoalGenerator; 00036 Research_BioDefenseGoalGenerator* bioTechDefenseUpgradesGoalGenerator; 00037 Research_MarineShellsGoalGenerator* bioTechRangeUpgradeGoalGenerator; 00038 Research_IonThrusterGoalGenerator* ionThrustersGoalGenerator; 00039 Research_CharonBoostersGoalGenerator* charonBoostersGoalGenerator; 00040 Research_CommandCentreUpgradeGoalGenerator* commandCentreUpgradeGoalGenerator; 00041 Research_FactoryUpgradeGoalGenerator* factoryUpgradeGoalGenerator; 00042 Research_SiegeModeGoalGenerator* mechUtilGoalGenerator; 00043 Research_WraithCloakGoalGenerator* wraithCloakGoalGenerator; 00044 Research_StarportUpgradeGoalGenerator* starPortUpgradeGoalGenerator; 00045 // Research_ScienceFacilityUpgradeGoalGenerator* scienceFacilityUpgradeGoalGenerator; 00046 Research_ScienceVesselIrradiateGoalGenerator* scienceFacilityIrradiateGoalGenerator; 00047 Research_ScienceVesselEMPGoalGenerator* scienceFacilityEMPGoalGenerator; 00048 Research_MechAttackGoalGenerator* mechTechWeaponUpgradesGoalGenerator; 00049 Research_MechDefenseGoalGenerator* mechTechArmorUpgradesGoalGenerator; 00050 00051 }; 00052 #endif