BWAPI
SnippyHolloW-BroodwarBotQ-f01ab56/src/Macro/BuildManager.h
Go to the documentation of this file.
00001 #pragma once
00002 #include "Macro/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);
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 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines