BWAPI
|
00001 #pragma once 00002 #include <BWAPI.h> 00003 #include <BWTA.h> 00004 class BorderManager 00005 { 00006 public: 00007 static BorderManager* create(); 00008 static void destroy(); 00009 void addMyBase(BWTA::BaseLocation* location); 00010 void removeMyBase(BWTA::BaseLocation* location); 00011 const std::set<BWTA::Chokepoint*>& getMyBorder() const; 00012 const std::set<BWTA::Chokepoint*>& getEnemyBorder() const; 00013 const std::set<BWTA::Chokepoint*>& getMyRegions() const; 00014 const std::set<BWTA::Chokepoint*>& getEnemyRegions() const; 00015 void update(); 00016 private: 00017 BorderManager(); 00018 ~BorderManager(); 00019 void recalculateBorders(); 00020 std::set<BWTA::BaseLocation*> myBases; 00021 std::vector<BWTA::BaseLocation*> enemyBases; 00022 std::set<BWTA::Region*> myRegions; 00023 std::set<BWTA::Region*> enemyRegions; 00024 std::set<BWTA::Chokepoint*> myBorder; 00025 std::set<BWTA::Chokepoint*> enemyBorder; 00026 int lastFrameCheck; 00027 }; 00028 00029 extern BorderManager* TheBorderManager;