BWAPI
Public Member Functions
TrainScarabAction Class Reference

#include <TrainScarabAction.h>

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

List of all members.

Public Member Functions

 TrainScarabAction (Unit unit)
bool update (const Goal &squadGoal, const UnitGroup &squadUnitGroup)

Detailed Description

Definition at line 6 of file TrainScarabAction.h.


Constructor & Destructor Documentation

Definition at line 9 of file TrainScarabAction.h.


Member Function Documentation

bool TrainScarabAction::update ( const Goal squadGoal,
const UnitGroup squadUnitGroup 
) [virtual]

Implements SingleMicroActionBaseClass.

Definition at line 3 of file TrainScarabAction.cpp.

References BWAPI::Broodwar, BWAPI::UnitType::mineralPrice(), SingleMicroActionBaseClass::mUnit, BWAPI::UnitTypes::Protoss_Scarab, and BWAPI::UpgradeTypes::Reaver_Capacity.

{
        if(mUnit->isLoaded())
                return false;

        int maxAmout = 5;
        if(BWAPI::Broodwar->self()->getUpgradeLevel(BWAPI::UpgradeTypes::Reaver_Capacity) > 0)
                maxAmout += 5;

        if(mUnit->getTrainingQueue().size() < 5 && mUnit->getScarabCount() + (int)mUnit->getTrainingQueue().size() < maxAmout)
        {
                if(BWAPI::Broodwar->self()->minerals() >= BWAPI::UnitTypes::Protoss_Scarab.mineralPrice())
                {
                        mUnit->train(BWAPI::UnitTypes::Protoss_Scarab);
                        return true;
                }
        }

        return false;
}

Here is the call 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