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