BWAPI
Public Member Functions | Public Attributes
UnitsGroup Class Reference

#include <UnitsGroup.h>

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

List of all members.

Public Member Functions

 UnitsGroup ()
 Basic.
virtual ~UnitsGroup ()
void update ()
void display ()
void move (BWAPI::Position &p)
 Group interaction/orders.
virtual void formation (pFormation f)
void switchMode (unit_mode um)
void idle ()
void dispatchCompleteUnit (pBayesianUnit bu)
 Units pool management.
void giveUpControl (BWAPI::Unit *u)
virtual void onUnitDestroy (BWAPI::Unit *u)
 AIModule interface.
virtual void onUnitShow (BWAPI::Unit *u)
virtual void onUnitHide (BWAPI::Unit *u)
void updateArrivingUnits ()
 Updaters of info.
void chooseLeadingUnit ()
void updateCenter ()
void updateOurStats ()
void updateEnemiesCenter ()
virtual BWAPI::Position getCenter () const
 Getters.
double getDistance (BWAPI::Unit *u) const
double getDistance (BWAPI::Position p) const
int getTotalHP () const
std::vector< pBayesianUnit > * getUnits ()
const BayesianUnitoperator[] (ptrdiff_t i)
void templarMergingStuff ()
 Templas merging.
void signalMerge (BWAPI::Unit *u)
void selectedUnits (std::set< pBayesianUnit > &u)

Public Attributes

double force
 Units tools / units intercommunication.
bool enemiesDefinedByGoal
std::list< pBayesianUnitarrivingUnits
std::vector< BWAPI::Position > ppath
UnitDmgBimap unitDamages
pBayesianUnit leadingUnit
BWAPI::Unit * defaultTargetEnemy
BWAPI::Position groupTargetPosition
double distToTarget
BWTA::Chokepoint * nearestChoke
double distToNearestChoke
Vec centerSpeed
std::map< BWAPI::UnitSizeType,
int > 
sizes
bool isFighting
bool suicide
bool readyToAttack
int nonFlyers
 Group recap variables.
unit_mode groupMode
BWAPI::Position center
int groupAltitude
double stdDevRadius
double maxRadius
BWAPI::Position enemiesCenter
 Enemies info.
bool enemyStatic
int enemiesAltitude
std::map< BWAPI::Unit
*, BWAPI::Position > 
enemies

Constructor & Destructor Documentation

Basic.

Here is the call graph for this function:

UnitsGroup::~UnitsGroup ( ) [virtual]

Member Function Documentation

void UnitsGroup::chooseLeadingUnit ( ) [inline]

take the closest unit to the target which has the closest attack range

Here is the caller graph for this function:

Units pool management.

Here is the caller graph for this function:

void UnitsGroup::formation ( pFormation  f) [virtual]

Here is the call graph for this function:

Here is the caller graph for this function:

Position UnitsGroup::getCenter ( ) const [virtual]

Getters.

Here is the caller graph for this function:

double UnitsGroup::getDistance ( BWAPI::Unit *  u) const [inline]

Here is the caller graph for this function:

double UnitsGroup::getDistance ( BWAPI::Position  p) const
int UnitsGroup::getTotalHP ( ) const
std::vector< pBayesianUnit > * UnitsGroup::getUnits ( )

Here is the caller graph for this function:

void UnitsGroup::giveUpControl ( BWAPI::Unit *  u)

Here is the caller graph for this function:

void UnitsGroup::idle ( )

Here is the call graph for this function:

void UnitsGroup::move ( BWAPI::Position &  p)

Group interaction/orders.

Here is the caller graph for this function:

void UnitsGroup::onUnitDestroy ( BWAPI::Unit *  u) [virtual]

AIModule interface.

Here is the call graph for this function:

Here is the caller graph for this function:

void UnitsGroup::onUnitHide ( BWAPI::Unit *  u) [virtual]
void UnitsGroup::onUnitShow ( BWAPI::Unit *  u) [virtual]
const BayesianUnit & UnitsGroup::operator[] ( ptrdiff_t  i)
void UnitsGroup::selectedUnits ( std::set< pBayesianUnit > &  u)
void UnitsGroup::signalMerge ( BWAPI::Unit *  u)

Here is the caller graph for this function:

Here is the call graph for this function:

Here is the caller graph for this function:

Templas merging.

Here is the caller graph for this function:

void UnitsGroup::update ( ) [virtual]

Update arriving units

Update the center of the group

Choose a non flying leadingUnit

Update nearby enemy units from eUnitsFilter (SLOW)

Update enemiesCenter / enemiesAltitude

All the things to do when we have to fight

We fight, we'll see later for the goals, BayesianUnits switchMode automatically if enemies is not empty()

find where to place our units around them

ATTACK!!

Update BayesianUnits

Merge Templars if needed

Reimplemented from BasicUnitsGroup.

Here is the call graph for this function:

Here is the caller graph for this function:

Updaters of info.

Here is the call graph for this function:

Here is the caller graph for this function:

void UnitsGroup::updateCenter ( ) [inline]

update the distToTarget with the new center by using precomputer pathfinding distances

Here is the call graph for this function:

Here is the caller graph for this function:

Here is the call graph for this function:

Here is the caller graph for this function:

void UnitsGroup::updateOurStats ( ) [inline]

Hack/Experimental++

Here is the caller graph for this function:


Member Data Documentation

BWAPI::Position UnitsGroup::center
std::map<BWAPI::Unit*, BWAPI::Position> UnitsGroup::enemies
BWAPI::Position UnitsGroup::enemiesCenter

Enemies info.

Units tools / units intercommunication.

BWTA::Chokepoint* UnitsGroup::nearestChoke

Group recap variables.

std::vector<BWAPI::Position> UnitsGroup::ppath
std::map<BWAPI::UnitSizeType, int> UnitsGroup::sizes

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