BWAPI
|
00001 #pragma once 00002 #include <BWAPI/Region.h> 00003 #include <BWAPI/Position.h> 00004 #include <BWAPI/Client/RegionData.h> 00005 00006 namespace BWAPI 00007 { 00008 class RegionImpl : public Region 00009 { 00010 private: 00011 RegionData *self; 00012 std::set<BWAPI::Region*> neighbors; 00013 BWAPI::Region *closestAccessibleRgn; 00014 BWAPI::Region *closestInaccessibleRgn; 00015 public: 00016 RegionImpl(int index); 00017 void setNeighbors(); 00018 virtual int getID() const; 00019 virtual int getRegionGroupID() const; 00020 virtual BWAPI::Position getCenter() const; 00021 virtual bool isHigherGround() const; 00022 virtual int getDefensePriority() const; 00023 virtual bool isWalkable() const; 00024 00025 virtual const std::set<BWAPI::Region*> &getNeighbors() const; 00026 00027 virtual int getBoundsLeft() const; 00028 virtual int getBoundsTop() const; 00029 virtual int getBoundsRight() const; 00030 virtual int getBoundsBottom() const; 00031 00032 virtual BWAPI::Region *getClosestAccessibleRegion() const; 00033 virtual BWAPI::Region *getClosestInaccessibleRegion() const; 00034 00035 virtual int getDistance(BWAPI::Region *other) const; 00036 }; 00037 00038 }; 00039