BWAPI
ExampleAIModule/Source/ProductionManager.h
Go to the documentation of this file.
00001 #pragma once
00002 #include <BWAPI.h>
00003 #include "Common.h"
00004 #include "InformationManager.h"
00005 #include "WorkerManager.h"
00006 
00007 class ProductionManager
00008 {
00009 public:
00010         ProductionManager();
00011         void onBuildingShow(BWAPI::Unit* unit);
00012         void onFrame();
00013         void onBuildingDestroy(BWAPI::Unit* unit);
00014 
00015         UnitSet _commandCenters;
00016         UnitSet _barracks;
00017         UnitSet _factories;
00018         UnitSet _starports;
00019         BWAPI::Unit* _academy;
00020         BWAPI::Unit* _engineeringBay;
00021         UnitSet _machineShop;
00022         UnitSet _controlTower;
00023         UnitSet _armory;
00024         BWAPI::Unit* _scienceFacility;
00025         BWAPI::Unit* _physicsLab;
00026         BWAPI::Unit* _covertOps;
00027         UnitSet _nuclearSilo;
00028 
00029 private:
00030         bool canTrain(BWAPI::UnitType type);
00031         bool onProduction(UnitSet buildings);
00032         BWAPI::UnitType needAddon(BWAPI::UnitType toTrain);
00033         BWAPI::UpgradeType getNextArmoryUpgrade();
00034         BWAPI::UpgradeType getNextInfanteryUpgrade();
00035 
00036 
00037 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines