BWAPI
Tasks/ProtectUnitTask.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include "Task.h"
00004 
00005 class ProtectUnitTask :
00006         public Task
00007 {
00008 protected:
00009         Agent* _protectedAgent;
00010 
00011         int _neededUnits;
00012 
00013         Unit* _targetEnemy;
00014 
00015         int _readyRange;
00016         Position _groupPosition;
00017 
00018         Agent* _centerAgent;
00019 
00020         bool marineExecute(Agent* agent);
00021         bool medicExecute(Agent* agent);
00022         bool wraithExecute(Agent* agent);
00023         bool tankExecute(Agent* agent);
00024         bool siegeExecute(Agent* agent);
00025 
00026 public:
00027         static void generateNecessaryTasks(Environment* env);
00028 
00029         ProtectUnitTask(Agent* agent, Environment* env);
00030         virtual ~ProtectUnitTask(void);
00031 
00032         virtual void addAgent(Agent* agent);
00033         virtual void removeAgent(Agent* agent);
00034 
00035         Agent* getProtectedAgent();
00036 
00037         Unit* getTargetEnemy();
00038         int getReadyRange();
00039         Position getGroupPosition();
00040 
00041         virtual void calculatePriority();
00042         virtual double evaluateAptitude(Agent* agent);
00043         virtual void evaluateStatus();
00044         
00045         virtual void evaluateNeededUnits();
00046 
00047         virtual bool execute(Agent* agent);
00048 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines