BWAPI
Aiur/include/BorderManager.h
Go to the documentation of this file.
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;
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines