BWAPI
|
00001 #pragma once 00002 #include <Arbitrator.h> 00003 #include <BWAPI.h> 00004 class BuildingPlacer; 00005 class ConstructionManager; 00006 class ProductionManager; 00007 class MorphManager; 00008 class BuildManager 00009 { 00010 public: 00011 BuildManager(Arbitrator::Arbitrator<BWAPI::Unit*,double>* arbitrator); 00012 ~BuildManager(); 00013 void update(); 00014 std::string getName() const; 00015 BuildingPlacer* getBuildingPlacer() const; 00016 void onRemoveUnit(BWAPI::Unit* unit); 00017 bool build(BWAPI::UnitType type); 00018 bool build(BWAPI::UnitType type, bool forceNoAddon); 00019 bool build(BWAPI::UnitType type, BWAPI::TilePosition goalPosition); 00020 bool build(BWAPI::UnitType type, BWAPI::TilePosition goalPosition, bool forceNoAddon, bool forcePosition = false); 00021 int getPlannedCount(BWAPI::UnitType type) const; 00022 int getStartedCount(BWAPI::UnitType type) const; 00023 int getCompletedCount(BWAPI::UnitType type) const; 00024 void setBuildDistance(int distance); 00025 BWAPI::UnitType getBuildType(BWAPI::Unit* unit) const; 00026 void setDebugMode(bool debugMode); 00027 00028 private: 00029 Arbitrator::Arbitrator<BWAPI::Unit*,double>* arbitrator; 00030 BuildingPlacer* buildingPlacer; 00031 ConstructionManager* constructionManager; 00032 ProductionManager* productionManager; 00033 MorphManager* morphManager; 00034 bool debugMode; 00035 };