BTHAI 2.3
Public Member Functions | Static Public Member Functions
ExplorationManager Class Reference

#include <ExplorationManager.h>

List of all members.

Public Member Functions

 ~ExplorationManager ()
void setInactive ()
bool isActive ()
void computeActions ()
TilePosition getNextToExplore (Squad *squad)
TilePosition searchExpansionSite ()
TilePosition getExpansionSite ()
void setExpansionSite (TilePosition pos)
void printInfo ()
void addSpottedUnit (Unit *unit)
void unitDestroyed (Unit *unit)
vector< SpottedObject * > getSpottedBuildings ()
TilePosition getClosestSpottedBuilding (TilePosition start)
int spottedBuildingsWithinRange (TilePosition pos, int range)
bool buildingsSpotted ()
void showIntellData ()
void setExplored (TilePosition goal)
TilePosition scanForVulnerableBase ()
bool isDetectorCovering (TilePosition pos)
bool isDetectorCovering (Position pos)

Static Public Member Functions

static ExplorationManagergetInstance ()
static bool canReach (TilePosition a, TilePosition b)
static bool canReach (BaseAgent *agent, TilePosition b)
static bool enemyIsProtoss ()
static bool enemyIsZerg ()
static bool enemyIsTerran ()
static bool enemyIsUnknown ()

Detailed Description

The ExplorationManager handles all tasks involving exploration of the game world. It issue orders to a number of units that is used as explorers, keep track of areas recently explored, and keep track of spotted resources or enemy buildings.

The ExplorationManager is implemented as a singleton class. Each class that needs to access ExplorationManager can request an instance, and all classes shares the same ExplorationManager instance.

Author: Johan Hagelback (johan.hagelback@gmail.com)


Constructor & Destructor Documentation

ExplorationManager::~ExplorationManager ( )

Destructor


Member Function Documentation

void ExplorationManager::addSpottedUnit ( Unit *  unit)

Notifies about an enemy unit that has been spotted.

bool ExplorationManager::buildingsSpotted ( )

Returns true if any enemy buildings have been spotted.

bool ExplorationManager::canReach ( TilePosition  a,
TilePosition  b 
) [static]

Returns true if a ground unit can reach position b from position a. Uses BWTA.

bool ExplorationManager::canReach ( BaseAgent agent,
TilePosition  b 
) [static]

Returns true if an agent can reach position b.

void ExplorationManager::computeActions ( )

Called each update to issue orders.

bool ExplorationManager::enemyIsProtoss ( ) [static]

Returns true if an enemy is Protoss.

bool ExplorationManager::enemyIsTerran ( ) [static]

Returns true if an enemy is Terran.

bool ExplorationManager::enemyIsUnknown ( ) [static]

All enemy races are currently unknown.

bool ExplorationManager::enemyIsZerg ( ) [static]

Returns true if an enemy is Zerg.

TilePosition ExplorationManager::getClosestSpottedBuilding ( TilePosition  start)

Returns the closest enemy spotted building from a start position, or TilePosition(-1,-1) if none was found.

TilePosition ExplorationManager::getExpansionSite ( )

Returns the next position to expand the base to.

ExplorationManager * ExplorationManager::getInstance ( ) [static]

Returns the instance of the class.

TilePosition ExplorationManager::getNextToExplore ( Squad squad)

Returns the next position to explore for this squad.

vector< SpottedObject * > ExplorationManager::getSpottedBuildings ( )

Returns the list of spotted enemy buildings.

bool ExplorationManager::isActive ( )

Returns true if the ExplorationManager is active, false if not.

bool ExplorationManager::isDetectorCovering ( Position  pos)

Checks if an enemy detector is covering the specified position.

bool ExplorationManager::isDetectorCovering ( TilePosition  pos)

Checks if an enemy detector is covering the specified position.

void ExplorationManager::printInfo ( )

Shows all spotted objects as squares on the SC map. Use for debug purpose.

TilePosition ExplorationManager::scanForVulnerableBase ( )

Scans for vulnerable enemy bases, i.e. bases without protection from detectors.

TilePosition ExplorationManager::searchExpansionSite ( )

Searches for the next position to expand the base to.

void ExplorationManager::setExpansionSite ( TilePosition  pos)

Sets the next position to expand the base to.

void ExplorationManager::setExplored ( TilePosition  goal)

Sets that a region is explored. The position must be the TilePosition for the center of the region.

void ExplorationManager::setInactive ( )

Sets ExplorationManager to inactive. Is used when perfect information is activated.

void ExplorationManager::showIntellData ( )

Shows some data about the enemy on screen.

int ExplorationManager::spottedBuildingsWithinRange ( TilePosition  pos,
int  range 
)

Calculates the number of spotted enemy buildings within the specified range (in tiles).

void ExplorationManager::unitDestroyed ( Unit *  unit)

Notifies that an enemy unit has been destroyed. If the destroyed unit was among the spotted units, it is removed from the list.


The documentation for this class was generated from the following files:
 All Classes Functions Variables