BWAPI
Aiur/include/BuildManager.h
Go to the documentation of this file.
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 };
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines