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