BWAPI
quorum/ExampleAIModule/ResearchManagerAgent.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines