BWAPI
Skynet/Skynet/TechTask.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include "Interface.h"
00004 
00005 #include "Task.h"
00006 
00007 class TechTask : public Task
00008 {
00009 public:
00010         TechTask(TaskType priority, BWAPI::TechType type);
00011 
00012         virtual int getEndTime() const;
00013         virtual int getEndTime(Unit unit) const;
00014 
00015         virtual int getPriority(Unit unit) const;
00016 
00017         virtual Position getStartLocation(Unit unit) const;
00018         virtual Position getEndLocation(Unit unit) const;
00019 
00020         virtual bool preUpdate();
00021         virtual bool update();
00022 
00023         virtual void updateRequirements();
00024 
00025         virtual bool waitingForUnit(Unit unit) const;
00026         virtual void giveUnit(Unit unit);
00027         virtual void returnUnit(Unit unit);
00028         virtual bool morph(Unit unit, BWAPI::UnitType previousType);
00029         virtual UnitGroup getFinishedUnits();
00030 
00031         virtual std::string getTaskName() const { return "Researching"; }
00032         virtual std::string getOutputName() const { return mType.getName(); }
00033 
00034         virtual void setRequiredSatisfyTime(RequirementGroup requirements, int time, int delay) { mRequiredSatisfyTime = time; }
00035 
00036         virtual int dispatchTime() const { return mRequiredSatisfyTime; }
00037         virtual int startTime() const { return mRequiredSatisfyTime; }
00038 
00039         virtual bool hasDispatched() const { return mUnit; }
00040         virtual bool inProgress() const { return mUnit && mUnit->isResearching(); }
00041 
00042 private:
00043         BWAPI::TechType mType;
00044 
00045         Unit mUnit;
00046 
00047         int mRequiredSatisfyTime;
00048 
00049         bool mReservedResources;
00050 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines