BWAPI
|
#include <BaseTracker.h>
Public Member Functions | |
BaseTrackerClass () | |
Base | createBase (std::set< TilePosition > tiles, Region region, bool startLocation, TilePosition position=BWAPI::TilePositions::None, const UnitGroup &resources=UnitGroup()) |
void | update () |
void | onDiscover (Unit unit) |
void | onMorphRenegade (Unit unit, Player previousPlayer, BWAPI::UnitType previousType) |
void | onDestroy (Unit unit) |
const std::set< Base > & | getAllBases () const |
std::set< Base > | getResourceBases () |
std::set< Base > | getActiveBases (bool activeInFuture=false, Player player=BWAPI::Broodwar->self()) |
std::set< Base > | getEnemyActiveBases (bool activeInFuture=false) |
std::set< Base > | getEnemyBases () |
std::set< Base > | getAllyBases () |
std::set< Base > | getPlayerBases (Player player=BWAPI::Broodwar->self()) |
std::set< Base > | getImportantBases (Player player=BWAPI::Broodwar->self()) |
std::set< Base > | getEnemyImportantBases () |
Base | getBase (TilePosition location) |
Private Attributes | |
std::set< Base > | mBases |
std::map< TilePosition, Base > | mTileToBase |
Definition at line 8 of file BaseTracker.h.
Definition at line 6 of file BaseTracker.cpp.
{ }
Base BaseTrackerClass::createBase | ( | std::set< TilePosition > | tiles, |
Region | region, | ||
bool | startLocation, | ||
TilePosition | position = BWAPI::TilePositions::None , |
||
const UnitGroup & | resources = UnitGroup() |
||
) |
Definition at line 10 of file BaseTracker.cpp.
References mBases, mTileToBase, and BWAPI::TilePositions::None.
{ Base base; if(position != BWAPI::TilePositions::None) base = Base(new BaseClass(position, resources, region, tiles, startLocation)); else base = Base(new BaseClass(region, tiles, startLocation)); for each(TilePosition tile in tiles) mTileToBase[tile] = base; mBases.insert(base); return base; }
std::set< Base > BaseTrackerClass::getActiveBases | ( | bool | activeInFuture = false , |
Player | player = BWAPI::Broodwar->self() |
||
) |
Definition at line 74 of file BaseTracker.cpp.
References mBases.
const std::set<Base>& BaseTrackerClass::getAllBases | ( | ) | const [inline] |
std::set< Base > BaseTrackerClass::getAllyBases | ( | ) |
Definition at line 113 of file BaseTracker.cpp.
References BWAPI::Broodwar, and mBases.
{ std::set<Base> bases; for each(Base base in mBases) { if(BWAPI::Broodwar->self()->isAlly(base->getPlayer())) bases.insert(base); } return bases; }
Base BaseTrackerClass::getBase | ( | TilePosition | location | ) | [inline] |
Definition at line 30 of file BaseTracker.h.
References mTileToBase.
{ return mTileToBase[location]; }
std::set< Base > BaseTrackerClass::getEnemyActiveBases | ( | bool | activeInFuture = false | ) |
Definition at line 87 of file BaseTracker.cpp.
References BWAPI::Broodwar, BWAPI::Player::isEnemy(), mBases, and BWAPI::Game::self().
{ std::set<Base> bases; for each(Base base in mBases) { if(base->isActive(activeInFuture) && BWAPI::Broodwar->self()->isEnemy(base->getPlayer())) bases.insert(base); } return bases; }
std::set< Base > BaseTrackerClass::getEnemyBases | ( | ) |
Definition at line 100 of file BaseTracker.cpp.
References BWAPI::Broodwar, and mBases.
{ std::set<Base> bases; for each(Base base in mBases) { if(BWAPI::Broodwar->self()->isEnemy(base->getPlayer())) bases.insert(base); } return bases; }
std::set< Base > BaseTrackerClass::getEnemyImportantBases | ( | ) |
Definition at line 152 of file BaseTracker.cpp.
References BWAPI::Broodwar, and mBases.
{ std::set<Base> bases; for each(Base base in mBases) { if(BWAPI::Broodwar->self()->isEnemy(base->getPlayer()) && (base->isActive(true) || base->getNumberOfTechBuildings() > 0)) bases.insert(base); } return bases; }
std::set< Base > BaseTrackerClass::getImportantBases | ( | Player | player = BWAPI::Broodwar->self() | ) |
Definition at line 139 of file BaseTracker.cpp.
References mBases.
std::set< Base > BaseTrackerClass::getPlayerBases | ( | Player | player = BWAPI::Broodwar->self() | ) |
Definition at line 126 of file BaseTracker.cpp.
References mBases.
std::set< Base > BaseTrackerClass::getResourceBases | ( | ) |
Definition at line 61 of file BaseTracker.cpp.
References mBases.
void BaseTrackerClass::onDestroy | ( | Unit | unit | ) |
Definition at line 53 of file BaseTracker.cpp.
References mBases.
void BaseTrackerClass::onDiscover | ( | Unit | unit | ) |
Definition at line 37 of file BaseTracker.cpp.
References mBases.
void BaseTrackerClass::onMorphRenegade | ( | Unit | unit, |
Player | previousPlayer, | ||
BWAPI::UnitType | previousType | ||
) |
Definition at line 45 of file BaseTracker.cpp.
References mBases.
void BaseTrackerClass::update | ( | ) |
Definition at line 26 of file BaseTracker.cpp.
References mBases.
std::set<Base> BaseTrackerClass::mBases [private] |
Definition at line 33 of file BaseTracker.h.
Referenced by createBase(), getActiveBases(), getAllBases(), getAllyBases(), getEnemyActiveBases(), getEnemyBases(), getEnemyImportantBases(), getImportantBases(), getPlayerBases(), getResourceBases(), onDestroy(), onDiscover(), onMorphRenegade(), and update().
std::map<TilePosition, Base> BaseTrackerClass::mTileToBase [private] |
Definition at line 34 of file BaseTracker.h.
Referenced by createBase(), and getBase().