BWAPI
Public Member Functions | Static Public Member Functions
Producer Class Reference

#include <Producer.h>

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

List of all members.

Public Member Functions

bool checkCanProduce (BWAPI::UnitType t)
bool checkCanTech (BWAPI::TechType t)
bool checkCanUpgrade (BWAPI::UpgradeType t)
bool checkHaveTech (BWAPI::UnitType ut)
int willProduce (BWAPI::UnitType t)
void produce (int number, BWAPI::UnitType t, int priority=20, int increment=1)
void produceAlways (int number, BWAPI::UnitType t, int increment=1)
void produceAdditional (int number, BWAPI::UnitType t, int priority=20, int increment=1)
void researchTech (BWAPI::TechType t)
void researchUpgrade (BWAPI::UpgradeType t)
void update ()
void onUnitCreate (BWAPI::Unit *unit)
void onUnitDestroy (BWAPI::Unit *unit)
virtual void onOffer (std::set< BWAPI::Unit * > units)
virtual void onRevoke (BWAPI::Unit *unit, double bid)
virtual std::string getName () const

Static Public Member Functions

static Producercreate ()
static void destroy ()

Member Function Documentation

bool Producer::checkCanProduce ( BWAPI::UnitType  t) [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

bool Producer::checkCanTech ( BWAPI::TechType  t) [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

bool Producer::checkCanUpgrade ( BWAPI::UpgradeType  t) [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

bool Producer::checkHaveTech ( BWAPI::UnitType  ut) [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

Producer * Producer::create ( ) [static]
void Producer::destroy ( ) [static]
string Producer::getName ( ) const [virtual]
void Producer::onOffer ( std::set< BWAPI::Unit * >  units) [virtual]

Implements Arbitrator::Controller< BWAPI::Unit *, double >.

Here is the call graph for this function:

void Producer::onRevoke ( BWAPI::Unit *  unit,
double  bid 
) [virtual]
void Producer::onUnitCreate ( BWAPI::Unit *  unit)

Here is the call graph for this function:

Here is the caller graph for this function:

void Producer::onUnitDestroy ( BWAPI::Unit *  unit)

Here is the call graph for this function:

Here is the caller graph for this function:

void Producer::produce ( int  number,
BWAPI::UnitType  t,
int  priority = 20,
int  increment = 1 
)

TODO should raise upgrade (or discard willProduce?)

Here is the call graph for this function:

Here is the caller graph for this function:

void Producer::produceAdditional ( int  number,
BWAPI::UnitType  t,
int  priority = 20,
int  increment = 1 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void Producer::produceAlways ( int  number,
BWAPI::UnitType  t,
int  increment = 1 
)

Here is the caller graph for this function:

void Producer::researchTech ( BWAPI::TechType  t)

Here is the call graph for this function:

Here is the caller graph for this function:

void Producer::researchUpgrade ( BWAPI::UpgradeType  t)

Here is the call graph for this function:

Here is the caller graph for this function:

void Producer::update ( ) [virtual]

hack for the start (to add the first Nexus) because units does not exist in the cstor

Produce Archons if needed

Free merging archons if merged or taking too long

Filter out all producing/tech structures in construction that just finished

Organize/order supply to avoid supply block

Research Techs/Upgrades

Techs

Upgrades

Build more producing structures

Find buildings free to produce units

Launch new units productions

Remove train orders that have been passed from the _productionQueue

Add the default productions

Check if we want to produce units from the "always have" numbers asked

Implements Arbitrator::Controller< BWAPI::Unit *, double >.

Here is the call graph for this function:

Here is the caller graph for this function:

int Producer::willProduce ( BWAPI::UnitType  t)

Here is the caller graph for this function:


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