BWAPI
|
00001 #pragma once 00002 #include <BWAPI.h> 00003 #include <RectangleArray.h> 00004 #include <UnitGroupManager.h> 00005 #include <BWTA.h> 00006 class BuildingPlacer 00007 { 00008 public: 00009 BuildingPlacer(); 00010 bool canBuildHere(BWAPI::TilePosition position, BWAPI::UnitType type, bool = false) const; 00011 bool canBuildHereWithSpace(BWAPI::TilePosition position, BWAPI::UnitType type) const; 00012 bool canBuildHereWithSpace(BWAPI::TilePosition position, BWAPI::UnitType type, int buildDist) const; 00013 BWAPI::TilePosition getBuildLocation(BWAPI::UnitType type) const; 00014 BWAPI::TilePosition getBuildLocationNear(BWAPI::TilePosition position,BWAPI::UnitType type) const; 00015 BWAPI::TilePosition getBuildLocationNear(BWAPI::TilePosition position,BWAPI::UnitType type, int buildDist) const; 00016 bool buildable(int x, int y) const; 00017 void reserveTiles(BWAPI::TilePosition position, int width, int height); 00018 void freeTiles(BWAPI::TilePosition position, int width, int height); 00019 void setBuildDistance(int distance); 00020 int getBuildDistance() const; 00021 bool isReserved(int x, int y) const; 00022 private: 00023 Util::RectangleArray<bool> reserveMap; 00024 int buildDistance; 00025 };