BWAPI
Skynet/Skynet/ObserverScoutTask.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include "Interface.h"
00004 
00005 #include "Task.h"
00006 #include "ScoutData.h"
00007 #include "TypeSafeEnum.h"
00008 #include "BuildTilePath.h"
00009 #include "UnitGroup.h"
00010 #include "Behaviour.h"
00011 
00012 class ObserverScoutTask : public Task
00013 {
00014 public:
00015         ObserverScoutTask(TaskType priority, ScoutData data);
00016 
00017         virtual int getEndTime() const;
00018         virtual int getEndTime(Unit unit) const;
00019 
00020         virtual int getPriority(Unit unit) const;
00021 
00022         virtual Position getStartLocation(Unit unit) const;
00023         virtual Position getEndLocation(Unit unit) const;
00024 
00025         virtual bool preUpdate();
00026         virtual bool update();
00027 
00028         virtual void updateRequirements();
00029 
00030         virtual bool waitingForUnit(Unit unit) const;
00031         virtual void giveUnit(Unit unit);
00032         virtual void returnUnit(Unit unit);
00033         virtual bool morph(Unit unit, BWAPI::UnitType previousType);
00034         virtual UnitGroup getFinishedUnits();
00035 
00036         virtual std::string getTaskName() const { return "Observer Scout"; }
00037         virtual std::string getOutputName() const { return ""; }
00038 
00039 private:
00040         Unit mUnit;
00041         Behaviour mUnitBehaviour;
00042 
00043         ScoutData mData;
00044 };
00045 
00046 typedef std::tr1::shared_ptr<ObserverScoutTask> ObserverScoutTaskPointer;
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines