BWAPI
|
00001 #pragma once 00002 #include <BWAPI.h> 00003 #include <BWTA.h> 00004 00005 class BorderManager 00006 { 00007 public: 00008 static BorderManager* create(); 00009 static void destroy(); 00010 void addMyBase(BWTA::BaseLocation* location); 00011 void removeMyBase(BWTA::BaseLocation* location); 00012 const std::set<BWTA::Chokepoint*>& getMyBorder() const; 00013 const std::set<BWTA::Region*>& getMyRegions() const; 00014 const std::set<BWTA::Chokepoint*>& getEnemyBorder() const; 00015 void update(); 00016 private: 00017 BorderManager(); 00018 ~BorderManager(); 00019 void recalculateBorders(); 00020 std::set<BWTA::BaseLocation*> myBases; 00021 std::set<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 }; 00027 00028 extern BorderManager* TheBorderManager;