BWAPI
Public Member Functions | Private Attributes
ObserverScoutTask Class Reference

#include <ObserverScoutTask.h>

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

List of all members.

Public Member Functions

 ObserverScoutTask (TaskType priority, ScoutData data)
virtual int getEndTime () const
virtual int getEndTime (Unit unit) const
virtual int getPriority (Unit unit) const
virtual Position getStartLocation (Unit unit) const
virtual Position getEndLocation (Unit unit) const
virtual bool preUpdate ()
virtual bool update ()
virtual void updateRequirements ()
virtual bool waitingForUnit (Unit unit) const
virtual void giveUnit (Unit unit)
virtual void returnUnit (Unit unit)
virtual bool morph (Unit unit, BWAPI::UnitType previousType)
virtual UnitGroup getFinishedUnits ()
virtual std::string getTaskName () const
virtual std::string getOutputName () const

Private Attributes

Unit mUnit
Behaviour mUnitBehaviour
ScoutData mData

Detailed Description

Definition at line 12 of file ObserverScoutTask.h.


Constructor & Destructor Documentation

Definition at line 4 of file ObserverScoutTask.cpp.

        : Task(priority)
        , mData(data)
{
}

Member Function Documentation

Position ObserverScoutTask::getEndLocation ( Unit  unit) const [virtual]

Implements Task.

Definition at line 33 of file ObserverScoutTask.cpp.

References mData.

{
        if(mData)
                return mData->getLastPosition(unit->getPosition());

        return unit->getPosition();
}
int ObserverScoutTask::getEndTime ( ) const [virtual]

Implements Task.

Definition at line 10 of file ObserverScoutTask.cpp.

References Requirement::maxTime.

Referenced by getEndTime().

Here is the caller graph for this function:

int ObserverScoutTask::getEndTime ( Unit  unit) const [virtual]

Implements Task.

Definition at line 15 of file ObserverScoutTask.cpp.

References getEndTime().

{
        return getEndTime();
}

Here is the call graph for this function:

Implements Task.

Definition at line 116 of file ObserverScoutTask.cpp.

References UnitGroup::insert(), and mUnit.

{
        UnitGroup returnUnits;

        returnUnits.insert(mUnit);

        return returnUnits;
}

Here is the call graph for this function:

virtual std::string ObserverScoutTask::getOutputName ( ) const [inline, virtual]

Implements Task.

Definition at line 37 of file ObserverScoutTask.h.

{ return ""; }
int ObserverScoutTask::getPriority ( Unit  unit) const [virtual]

Implements Task.

Definition at line 20 of file ObserverScoutTask.cpp.

{
        return 10;
}

Implements Task.

Definition at line 25 of file ObserverScoutTask.cpp.

References mData.

{
        if(mData)
                return mData->getNextPosition(unit->getPosition());

        return unit->getPosition();
}
virtual std::string ObserverScoutTask::getTaskName ( ) const [inline, virtual]

Implements Task.

Definition at line 36 of file ObserverScoutTask.h.

{ return "Observer Scout"; }
void ObserverScoutTask::giveUnit ( Unit  unit) [virtual]

Implements Task.

Definition at line 94 of file ObserverScoutTask.cpp.

References mUnit, mUnitBehaviour, and Behaviour::set().

{
        mUnit = unit;
        mUnitBehaviour.set(unit);
}

Here is the call graph for this function:

bool ObserverScoutTask::morph ( Unit  unit,
BWAPI::UnitType  previousType 
) [virtual]

Implements Task.

Definition at line 111 of file ObserverScoutTask.cpp.

{
        return true;
}
bool ObserverScoutTask::preUpdate ( ) [virtual]

Implements Task.

Definition at line 41 of file ObserverScoutTask.cpp.

References Singleton< T >::Instance(), mData, and mUnit.

{
        if(mData && mData->isAchieved())
                mData.reset();

        if(mUnit && !mData)
                mData = ScoutManager::Instance().getScoutData(ScoutUnitType::Observer);

        return false;
}

Here is the call graph for this function:

void ObserverScoutTask::returnUnit ( Unit  unit) [virtual]
bool ObserverScoutTask::update ( ) [virtual]

Implements Task.

Definition at line 52 of file ObserverScoutTask.cpp.

References ActionTypeDef::FallBack, Goal::getGoalType(), Task::hasEnded(), mData, mUnit, mUnitBehaviour, BWAPI::BulletTypes::None, and Behaviour::update().

{
        if(mUnit)
        {
                Goal observerGoal;

                if(mData)
                        observerGoal = Goal(ActionType::FallBack, mData->getNextPosition(mUnit->getPosition()));

                if(observerGoal.getGoalType() == GoalType::None)
                {
                        ;//TODO: go to closest cloaked enemy unit
                        //TODO: go to closest enemy scv that is in the fog
                }

                mUnitBehaviour.update(observerGoal, UnitGroup());
        }

        return hasEnded() && !mUnit;
}

Here is the call graph for this function:

bool ObserverScoutTask::waitingForUnit ( Unit  unit) const [virtual]

Implements Task.

Definition at line 89 of file ObserverScoutTask.cpp.

{
        return false;
}

Member Data Documentation

Definition at line 41 of file ObserverScoutTask.h.

Referenced by giveUnit(), returnUnit(), and update().


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