BWAPI
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
Task Class Reference

#include <Task.h>

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

List of all members.

Public Member Functions

 Task (TaskType priority)
virtual ~Task ()
virtual int getEndTime () const =0
virtual int getEndTime (Unit unit) const =0
virtual TaskType getType () const
virtual int getPriority (Unit unit) const =0
virtual Position getStartLocation (Unit unit) const =0
virtual Position getEndLocation (Unit unit) const =0
virtual bool preUpdate ()=0
virtual bool update ()=0
virtual bool waitingForUnit (Unit unit) const =0
virtual void giveUnit (Unit unit)=0
virtual void returnUnit (Unit unit)=0
virtual bool morph (Unit unit, BWAPI::UnitType previousType)=0
virtual UnitGroup getFinishedUnits ()=0
virtual std::string getTaskName () const =0
virtual std::string getOutputName () const =0
virtual int dispatchTime () const
virtual int startTime () const
virtual bool hasDispatched () const
virtual bool inProgress () const
bool isPaused () const
bool isStopped () const
bool isCanceled () const
bool isCompleted () const
bool hasEnded () const
bool shouldReturnUnit () const
void pause ()
void stop ()
void cancel ()
void resume ()
virtual void setRequiredSatisfyTime (RequirementGroup requirements, int time, int delay)
virtual void updateRequirements ()
void updateRequirements (std::tr1::function< bool(RequirementGroup)> updateFunction)

Protected Member Functions

void complete ()
void clearRequirements ()
void addRequirement (RequirementGroup requirement)

Protected Attributes

std::list< RequirementGroupmRequirements

Private Attributes

bool mPaused
bool mStopped
bool mCanceled
bool mCompleted
TaskType mTaskType

Detailed Description

Definition at line 32 of file Task.h.


Constructor & Destructor Documentation

Task::Task ( TaskType  priority) [inline]

Definition at line 35 of file Task.h.

                : mPaused(false)
                , mStopped(false)
                , mCanceled(false)
                , mCompleted(false)
                , mTaskType(priority)
        {}
virtual Task::~Task ( ) [inline, virtual]

Definition at line 43 of file Task.h.

{};

Member Function Documentation

void Task::addRequirement ( RequirementGroup  requirement) [inline, protected]
void Task::cancel ( ) [inline]

Definition at line 82 of file Task.h.

References mCanceled.

{ mCanceled = true; }
void Task::clearRequirements ( ) [inline, protected]
void Task::complete ( ) [inline, protected]
virtual int Task::dispatchTime ( ) const [inline, virtual]

Reimplemented in ConstructionTask, MorphTask, TechTask, TrainTask, and UpgradeTask.

Definition at line 67 of file Task.h.

References Requirement::maxTime.

virtual Position Task::getEndLocation ( Unit  unit) const [pure virtual]
virtual int Task::getEndTime ( ) const [pure virtual]
virtual int Task::getEndTime ( Unit  unit) const [pure virtual]
virtual UnitGroup Task::getFinishedUnits ( ) [pure virtual]
virtual std::string Task::getOutputName ( ) const [pure virtual]
virtual int Task::getPriority ( Unit  unit) const [pure virtual]
virtual Position Task::getStartLocation ( Unit  unit) const [pure virtual]
virtual std::string Task::getTaskName ( ) const [pure virtual]
virtual TaskType Task::getType ( ) const [inline, virtual]

Definition at line 48 of file Task.h.

References mTaskType.

{ return mTaskType; }
virtual void Task::giveUnit ( Unit  unit) [pure virtual]
virtual bool Task::hasDispatched ( ) const [inline, virtual]

Reimplemented in ConstructionTask, MorphTask, TechTask, TrainTask, and UpgradeTask.

Definition at line 70 of file Task.h.

{ return false; }
bool Task::hasEnded ( ) const [inline]
virtual bool Task::inProgress ( ) const [inline, virtual]

Reimplemented in ConstructionTask, MorphTask, TechTask, TrainTask, and UpgradeTask.

Definition at line 71 of file Task.h.

{ return false; }
bool Task::isCanceled ( ) const [inline]

Definition at line 75 of file Task.h.

References mCanceled.

Referenced by TechTask::preUpdate(), UpgradeTask::preUpdate(), ConstructionTask::preUpdate(), UpgradeTask::update(), TechTask::update(), and ConstructionTask::update().

{ return mCanceled; }

Here is the caller graph for this function:

bool Task::isCompleted ( ) const [inline]

Definition at line 76 of file Task.h.

References mCompleted.

Referenced by MorphTask::getEndTime(), ConstructionTask::getFinishedUnits(), TechTask::preUpdate(), and UpgradeTask::preUpdate().

{ return mCompleted; }

Here is the caller graph for this function:

bool Task::isPaused ( ) const [inline]

Definition at line 73 of file Task.h.

References mPaused.

Referenced by ConstructionTask::preUpdate(), UpgradeTask::update(), and TechTask::update().

{ return mPaused; }

Here is the caller graph for this function:

bool Task::isStopped ( ) const [inline]

Definition at line 74 of file Task.h.

References mStopped.

Referenced by TechTask::preUpdate(), UpgradeTask::preUpdate(), ConstructionTask::preUpdate(), UpgradeTask::update(), TechTask::update(), and ConstructionTask::update().

{ return mStopped; }

Here is the caller graph for this function:

virtual bool Task::morph ( Unit  unit,
BWAPI::UnitType  previousType 
) [pure virtual]
void Task::pause ( ) [inline]

Definition at line 80 of file Task.h.

References mPaused.

{ mPaused = true; }
virtual bool Task::preUpdate ( ) [pure virtual]
void Task::resume ( ) [inline]

Definition at line 83 of file Task.h.

References mPaused, and mStopped.

{ mPaused = false; mStopped = false; }
virtual void Task::returnUnit ( Unit  unit) [pure virtual]
virtual void Task::setRequiredSatisfyTime ( RequirementGroup  requirements,
int  time,
int  delay 
) [inline, virtual]

Reimplemented in ConstructionTask, MorphTask, TechTask, TrainTask, and UpgradeTask.

Definition at line 85 of file Task.h.

{};
bool Task::shouldReturnUnit ( ) const [inline]
virtual int Task::startTime ( ) const [inline, virtual]

Reimplemented in ConstructionTask, MorphTask, TechTask, TrainTask, and UpgradeTask.

Definition at line 68 of file Task.h.

References Requirement::maxTime.

void Task::stop ( ) [inline]

Definition at line 81 of file Task.h.

References mPaused, and mStopped.

{ mStopped = true; mPaused = false; }
virtual bool Task::update ( ) [pure virtual]
virtual void Task::updateRequirements ( ) [inline, virtual]
void Task::updateRequirements ( std::tr1::function< bool(RequirementGroup)>  updateFunction) [inline]

Definition at line 87 of file Task.h.

References mRequirements.

        {
                for(std::list<RequirementGroup>::iterator it = mRequirements.begin(); it != mRequirements.end();)
                {
                        if(updateFunction(*it))
                                it = mRequirements.erase(it);
                        else
                                ++it;
                }
        }
virtual bool Task::waitingForUnit ( Unit  unit) const [pure virtual]

Member Data Documentation

bool Task::mCanceled [private]

Definition at line 109 of file Task.h.

Referenced by cancel(), hasEnded(), and isCanceled().

bool Task::mCompleted [private]

Definition at line 110 of file Task.h.

Referenced by complete(), hasEnded(), and isCompleted().

bool Task::mPaused [private]

Definition at line 107 of file Task.h.

Referenced by isPaused(), pause(), resume(), shouldReturnUnit(), and stop().

std::list<RequirementGroup> Task::mRequirements [protected]

Definition at line 104 of file Task.h.

Referenced by addRequirement(), clearRequirements(), and updateRequirements().

bool Task::mStopped [private]

Definition at line 108 of file Task.h.

Referenced by isStopped(), resume(), shouldReturnUnit(), and stop().

Definition at line 112 of file Task.h.

Referenced by getType().


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