BWAPI
|
#include <Task.h>
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< RequirementGroup > | mRequirements |
Private Attributes | |
bool | mPaused |
bool | mStopped |
bool | mCanceled |
bool | mCompleted |
TaskType | mTaskType |
Task::Task | ( | TaskType | priority | ) | [inline] |
virtual Task::~Task | ( | ) | [inline, virtual] |
void Task::addRequirement | ( | RequirementGroup | requirement | ) | [inline, protected] |
Definition at line 102 of file Task.h.
References mRequirements.
Referenced by MorphTask::updateRequirements(), TechTask::updateRequirements(), TrainTask::updateRequirements(), UpgradeTask::updateRequirements(), GatherTask::updateRequirements(), MineBlockingMineralTask::updateRequirements(), ConstructionTask::updateRequirements(), WorkerScoutTask::updateRequirements(), ObserverScoutTask::updateRequirements(), DefenseSquadTask::updateRequirements(), and DefaultSquadTask::updateRequirements().
{ mRequirements.push_back(requirement); }
void Task::cancel | ( | ) | [inline] |
void Task::clearRequirements | ( | ) | [inline, protected] |
Definition at line 101 of file Task.h.
References mRequirements.
Referenced by MorphTask::updateRequirements(), TechTask::updateRequirements(), TrainTask::updateRequirements(), UpgradeTask::updateRequirements(), GatherTask::updateRequirements(), MineBlockingMineralTask::updateRequirements(), ConstructionTask::updateRequirements(), WorkerScoutTask::updateRequirements(), ObserverScoutTask::updateRequirements(), DefenseSquadTask::updateRequirements(), and DefaultSquadTask::updateRequirements().
{ mRequirements.clear(); }
void Task::complete | ( | ) | [inline, protected] |
Definition at line 99 of file Task.h.
References mCompleted.
Referenced by WorkerScoutTask::getNewData(), IdleTask::preUpdate(), UpgradeTask::preUpdate(), MorphTask::preUpdate(), TechTask::preUpdate(), TrainTask::preUpdate(), ConstructionTask::preUpdate(), MineBlockingMineralTask::preUpdate(), WorkerScoutTask::preUpdate(), WorkerScoutTask::returnUnit(), and ObserverScoutTask::returnUnit().
{ mCompleted = true; }
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.
{ return Requirement::maxTime; }
virtual Position Task::getEndLocation | ( | Unit | unit | ) | const [pure virtual] |
Implemented in ObserverScoutTask, BaseSquadTask, WorkerScoutTask, ConstructionTask, DefaultSquadTask, DefenseSquadTask, GatherTask, MineBlockingMineralTask, IdleTask, MorphTask, TechTask, TrainTask, and UpgradeTask.
virtual int Task::getEndTime | ( | ) | const [pure virtual] |
Implemented in ObserverScoutTask, BaseSquadTask, WorkerScoutTask, ConstructionTask, DefaultSquadTask, DefenseSquadTask, GatherTask, MineBlockingMineralTask, IdleTask, MorphTask, TechTask, TrainTask, and UpgradeTask.
virtual int Task::getEndTime | ( | Unit | unit | ) | const [pure virtual] |
Implemented in ObserverScoutTask, BaseSquadTask, WorkerScoutTask, ConstructionTask, DefaultSquadTask, DefenseSquadTask, GatherTask, MineBlockingMineralTask, IdleTask, MorphTask, TechTask, TrainTask, and UpgradeTask.
virtual UnitGroup Task::getFinishedUnits | ( | ) | [pure virtual] |
Implemented in ObserverScoutTask, WorkerScoutTask, BaseSquadTask, ConstructionTask, GatherTask, MineBlockingMineralTask, MorphTask, TechTask, TrainTask, UpgradeTask, DefaultSquadTask, DefenseSquadTask, and IdleTask.
virtual std::string Task::getOutputName | ( | ) | const [pure virtual] |
Implemented in ObserverScoutTask, WorkerScoutTask, BaseSquadTask, ConstructionTask, GatherTask, MineBlockingMineralTask, MorphTask, TechTask, TrainTask, UpgradeTask, DefaultSquadTask, DefenseSquadTask, and IdleTask.
virtual int Task::getPriority | ( | Unit | unit | ) | const [pure virtual] |
Implemented in ObserverScoutTask, BaseSquadTask, WorkerScoutTask, ConstructionTask, DefaultSquadTask, DefenseSquadTask, GatherTask, MineBlockingMineralTask, IdleTask, MorphTask, TechTask, TrainTask, and UpgradeTask.
virtual Position Task::getStartLocation | ( | Unit | unit | ) | const [pure virtual] |
Implemented in ObserverScoutTask, BaseSquadTask, WorkerScoutTask, ConstructionTask, DefaultSquadTask, DefenseSquadTask, GatherTask, MineBlockingMineralTask, IdleTask, MorphTask, TechTask, TrainTask, and UpgradeTask.
virtual std::string Task::getTaskName | ( | ) | const [pure virtual] |
Implemented in ObserverScoutTask, WorkerScoutTask, BaseSquadTask, ConstructionTask, GatherTask, MineBlockingMineralTask, MorphTask, TechTask, TrainTask, UpgradeTask, DefaultSquadTask, DefenseSquadTask, and IdleTask.
virtual TaskType Task::getType | ( | ) | const [inline, virtual] |
virtual void Task::giveUnit | ( | Unit | unit | ) | [pure virtual] |
Implemented in ObserverScoutTask, WorkerScoutTask, BaseSquadTask, ConstructionTask, GatherTask, MineBlockingMineralTask, MorphTask, TechTask, TrainTask, UpgradeTask, DefaultSquadTask, DefenseSquadTask, and IdleTask.
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] |
Definition at line 77 of file Task.h.
References mCanceled, and mCompleted.
Referenced by WorkerScoutTask::isFinishedScouting(), DefenseSquadTask::preUpdate(), ConstructionTask::preUpdate(), DefaultSquadTask::preUpdate(), GatherTask::preUpdate(), MineBlockingMineralTask::preUpdate(), WorkerScoutTask::preUpdate(), ConstructionTask::reserveLocation(), MorphTask::reserveResources(), TrainTask::reserveResources(), ConstructionTask::reserveResources(), shouldReturnUnit(), TechTask::update(), MorphTask::update(), TrainTask::update(), UpgradeTask::update(), IdleTask::update(), DefenseSquadTask::update(), MineBlockingMineralTask::update(), GatherTask::update(), ConstructionTask::update(), DefaultSquadTask::update(), WorkerScoutTask::update(), ObserverScoutTask::update(), ConstructionTask::updateRequirements(), DefenseSquadTask::updateRequirements(), and DefaultSquadTask::updateRequirements().
{ return mCompleted || mCanceled; }
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; }
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; }
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; }
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; }
virtual bool Task::morph | ( | Unit | unit, |
BWAPI::UnitType | previousType | ||
) | [pure virtual] |
Implemented in ObserverScoutTask, WorkerScoutTask, BaseSquadTask, ConstructionTask, GatherTask, MineBlockingMineralTask, MorphTask, TechTask, TrainTask, UpgradeTask, DefaultSquadTask, DefenseSquadTask, and IdleTask.
void Task::pause | ( | ) | [inline] |
virtual bool Task::preUpdate | ( | ) | [pure virtual] |
Implemented in ObserverScoutTask, BaseSquadTask, WorkerScoutTask, ConstructionTask, DefaultSquadTask, DefenseSquadTask, GatherTask, MineBlockingMineralTask, IdleTask, MorphTask, TechTask, TrainTask, and UpgradeTask.
void Task::resume | ( | ) | [inline] |
virtual void Task::returnUnit | ( | Unit | unit | ) | [pure virtual] |
Implemented in ObserverScoutTask, WorkerScoutTask, BaseSquadTask, ConstructionTask, GatherTask, MineBlockingMineralTask, MorphTask, TechTask, TrainTask, UpgradeTask, DefaultSquadTask, DefenseSquadTask, and IdleTask.
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] |
Definition at line 78 of file Task.h.
References hasEnded(), mPaused, and mStopped.
Referenced by ConstructionTask::finishedWithBuilder(), TrainTask::preUpdate(), ConstructionTask::preUpdate(), UpgradeTask::update(), TechTask::update(), ConstructionTask::update(), UpgradeTask::updateRequirements(), TechTask::updateRequirements(), MineBlockingMineralTask::updateRequirements(), WorkerScoutTask::updateRequirements(), ObserverScoutTask::updateRequirements(), and TrainTask::waitingForUnit().
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.
{ return Requirement::maxTime; }
void Task::stop | ( | ) | [inline] |
virtual bool Task::update | ( | ) | [pure virtual] |
Implemented in ObserverScoutTask, BaseSquadTask, WorkerScoutTask, ConstructionTask, DefaultSquadTask, DefenseSquadTask, GatherTask, MineBlockingMineralTask, IdleTask, MorphTask, TechTask, TrainTask, and UpgradeTask.
virtual void Task::updateRequirements | ( | ) | [inline, virtual] |
Reimplemented in BaseSquadTask, DefaultSquadTask, DefenseSquadTask, ObserverScoutTask, WorkerScoutTask, ConstructionTask, GatherTask, MineBlockingMineralTask, MorphTask, TechTask, TrainTask, and UpgradeTask.
Definition at line 86 of file Task.h.
{};
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] |
Implemented in ObserverScoutTask, WorkerScoutTask, BaseSquadTask, ConstructionTask, GatherTask, MineBlockingMineralTask, MorphTask, TechTask, TrainTask, UpgradeTask, DefaultSquadTask, DefenseSquadTask, and IdleTask.
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().
TaskType Task::mTaskType [private] |