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