BWAPI
Skynet/Skynet/BaseSquad.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include "Interface.h"
00004 
00005 #include "Task.h"
00006 #include "BuildOrder.h"
00007 
00008 class BaseSquadTask : public Task
00009 {
00010 public:
00011         BaseSquadTask(ArmyBehaviour behaviour)
00012                 : Task(TaskType::Army)
00013                 , mArmyBehaviour(behaviour)
00014         {}
00015 
00016         virtual int getEndTime() const = 0;
00017         virtual int getEndTime(Unit unit) const = 0;
00018 
00019         virtual int getPriority(Unit unit) const = 0;
00020 
00021         virtual Position getStartLocation(Unit unit) const = 0;
00022         virtual Position getEndLocation(Unit unit) const = 0;
00023 
00024         virtual bool preUpdate() = 0;
00025         virtual bool update() = 0;
00026 
00027         virtual bool waitingForUnit(Unit unit) const = 0;
00028         virtual void giveUnit(Unit unit) = 0;
00029         virtual void returnUnit(Unit unit) = 0;
00030         virtual bool morph(Unit unit, BWAPI::UnitType previousType) = 0;
00031         virtual UnitGroup getFinishedUnits() = 0;
00032 
00033         virtual std::string getTaskName() const = 0;
00034         virtual std::string getOutputName() const = 0;
00035 
00036         virtual unsigned int controlSize() = 0;
00037 
00038         virtual void updateRequirements(){}
00039 
00040         void changeBehaviour(ArmyBehaviour armyBehaviour) { mArmyBehaviour = armyBehaviour; }
00041 
00042 protected:
00043         ArmyBehaviour mArmyBehaviour;
00044 };
00045 
00046 typedef std::tr1::shared_ptr<BaseSquadTask> BaseSquadTaskPointer;
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines