BWAPI
|
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;