BWAPI
Public Member Functions | Public Attributes | Friends
MapManager Class Reference

#include <MapManager.h>

Inheritance diagram for MapManager:
Inheritance graph
[legend]
Collaboration diagram for MapManager:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void onUnitCreate (BWAPI::Unit *u)
void onUnitDestroy (BWAPI::Unit *u)
void onUnitShow (BWAPI::Unit *u)
void onUnitHide (BWAPI::Unit *u)
void justStormed (BWAPI::Position p)
void pathfind (BayesianUnit *ptr, BWAPI::Unit *u, BWAPI::TilePosition start, BWAPI::TilePosition end)
 Helper function for registering a building aware pathfinding task.
void threatAwarePathfind (BayesianUnit *ptr, BWAPI::Unit *u, BWAPI::TilePosition start, BWAPI::TilePosition end, int damages)
 Helper function for registering a damages aware pathfinding task (NOT buildings aware, perhaps change...)
void cancelPathfind (BayesianUnit *ptr)
const std::vector
< BWAPI::TilePosition > & 
getPathFromHomeToSL (BWTA::BaseLocation *b)
void update ()
const std::map< BWAPI::Unit
*, BWAPI::Position > & 
getOurUnits ()
const std::map< BWAPI::Unit
*, BWAPI::Position > & 
getTrackedUnits ()
const std::map< BWAPI::Bullet
*, BWAPI::Position > & 
getTrackedStorms ()
BWAPI::Position closestWalkabableSameRegionOrConnected (BWAPI::Position p)
BWAPI::TilePosition closestWalkabableSameRegionOrConnected (BWAPI::TilePosition tp)
bool isBTWalkable (int x, int y)
bool isBTWalkable (const BWAPI::TilePosition &tp)
void drawBuildings ()
void drawBuildingsStrict ()
void drawWalkability ()
void drawLowResWalkability ()
void drawLowResBuildings ()
void drawGroundDamages ()
void drawAirDamages ()
void drawGroundDamagesGrad ()
void drawAirDamagesGrad ()
void drawBestStorms ()

Public Attributes

bool * walkability
bool * buildings_wt
bool * buildings
int * groundDamages
int * airDamages
VecgroundDamagesGrad
VecairDamagesGrad
std::map< BWTA::Region
*, BWAPI::Position > 
regionsPFCenters
std::map< BWTA::Region
*, std::map< BWTA::Region
*, double > > 
distRegions
std::map< BWTA::Region
*, std::map< double,
BWTA::Region * > > 
regionsByDist
std::map< BWTA::BaseLocation
*, std::map
< BWTA::BaseLocation *, double > > 
distBaseToBase
std::map< BWTA::Region
*, BWAPI::TilePosition > 
regionsInsideCenter
std::map< Position, int > stormPos

Friends

class CSingleton< MapManager >

Detailed Description

From BWAPI's doc: Positions are measured in pixels and are the highest resolution Walk Tiles - each walk tile is an 8x8 square of pixels. These are called walk tiles because walkability data is available at this resolution. Build Tiles - each build tile is a 4x4 square of walk tiles, or a 32x32 square of pixels. These are called build tiles because buildability data is available at this resolution.


Member Function Documentation

Removes all the pathfinding tasks from this unit, being it in the queue or the current task /!\ It is important to cancelPathfind when a BayesianUnit dies

BWAPI::Position MapManager::closestWalkabableSameRegionOrConnected ( BWAPI::Position  p)

Here is the caller graph for this function:

BWAPI::TilePosition MapManager::closestWalkabableSameRegionOrConnected ( BWAPI::TilePosition  tp)

Here is the call graph for this function:

Here is the caller graph for this function:

Here is the call graph for this function:

const std::map< BWAPI::Unit *, BWAPI::Position > & MapManager::getOurUnits ( )
const std::vector< BWAPI::TilePosition > & MapManager::getPathFromHomeToSL ( BWTA::BaseLocation *  b)

Here is the caller graph for this function:

const std::map< BWAPI::Bullet *, BWAPI::Position > & MapManager::getTrackedStorms ( )

Here is the caller graph for this function:

const std::map< BWAPI::Unit *, BWAPI::Position > & MapManager::getTrackedUnits ( )
bool MapManager::isBTWalkable ( int  x,
int  y 
)

Here is the caller graph for this function:

bool MapManager::isBTWalkable ( const BWAPI::TilePosition &  tp)
void MapManager::justStormed ( BWAPI::Position  p)

Here is the caller graph for this function:

void MapManager::onUnitCreate ( BWAPI::Unit *  u)

Here is the caller graph for this function:

void MapManager::onUnitDestroy ( BWAPI::Unit *  u)

Here is the caller graph for this function:

void MapManager::onUnitHide ( BWAPI::Unit *  u)

Here is the caller graph for this function:

void MapManager::onUnitShow ( BWAPI::Unit *  u)

Here is the caller graph for this function:

void MapManager::pathfind ( BayesianUnit ptr,
BWAPI::Unit *  u,
BWAPI::TilePosition  start,
BWAPI::TilePosition  end 
)

Helper function for registering a building aware pathfinding task.

Here is the caller graph for this function:

void MapManager::threatAwarePathfind ( BayesianUnit ptr,
BWAPI::Unit *  u,
BWAPI::TilePosition  start,
BWAPI::TilePosition  end,
int  damages 
)

Helper function for registering a damages aware pathfinding task (NOT buildings aware, perhaps change...)

Here is the caller graph for this function:

Update stormPos

Prepare for the next update of _stormPosBuf thread

Launch the update of storms pos by unlocking the thread (waiting on this mutex)

Update the pathfinder

Fetch results if there are some

Prepare the next currentPathfindWork

Create the thread if it doesn't exist

Signal the pathfinder thread of incoming work

Here is the call graph for this function:

Here is the caller graph for this function:


Friends And Related Function Documentation

friend class CSingleton< MapManager > [friend]

Member Data Documentation

std::map<BWTA::BaseLocation*, std::map<BWTA::BaseLocation*, double> > MapManager::distBaseToBase
std::map<BWTA::Region*, std::map<BWTA::Region*, double> > MapManager::distRegions
std::map<BWTA::Region*, std::map<double, BWTA::Region*> > MapManager::regionsByDist
std::map<BWTA::Region*, BWAPI::TilePosition> MapManager::regionsInsideCenter
std::map<BWTA::Region*, BWAPI::Position> MapManager::regionsPFCenters
std::map<Position, int> MapManager::stormPos

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines