BWAPI
|
00001 #ifndef OFFTAC_GOALHEADERS_H 00002 #define OFFTAC_GOALHEADERS_H 00003 #include "GoalGeneratorBase.h" 00004 #include "GoalTypes.h" 00005 00006 class OffensiveTacticsManagerAgent; 00007 00008 // worker training goal 00009 class OffensiveTactics_LandAttackGoalGenerator : public GoalGeneratorBase { 00010 public: 00011 OffensiveTactics_LandAttackGoalGenerator(AgentPool* a, OffensiveTacticsManagerAgent* parent); 00012 00013 // generic stuff 00014 virtual void inhibit(); 00015 virtual bool instantiateGoal(); 00016 virtual void updateDrives(); 00017 virtual void initialize(); 00018 virtual int getdrive(); 00019 virtual int getthresh(); 00020 // what 00021 00022 00023 private: 00024 00025 // generic stuff 00026 bool inhibited; 00027 AgentPool* agentPool; 00028 int drive; 00029 int thresh; 00030 int priority; 00031 OffensiveTacticsManagerAgent* parent; 00032 GoalDescriptor* goal; 00033 int temporalFactor; 00034 // implementation-specific stuff, if needed 00035 00036 00037 }; 00038 00039 00040 00041 00042 class OffensiveTactics_GasSteal : public GoalGeneratorBase { 00043 public: 00044 OffensiveTactics_GasSteal(AgentPool* a, OffensiveTacticsManagerAgent* parent); 00045 00046 // generic stuff 00047 virtual void inhibit(); 00048 virtual bool instantiateGoal(); 00049 virtual void updateDrives(); 00050 void attachTargetDetails(int tac, Unit* rep, Unit* tar); 00051 std::pair<Unit*, Unit*> getTargetDetails(); 00052 virtual void initialize(); 00053 virtual int getdrive(); 00054 virtual int getthresh(); 00055 // what 00056 00057 00058 private: 00059 00060 // generic stuff 00061 bool inhibited; 00062 AgentPool* agentPool; 00063 int drive; 00064 int thresh; 00065 int priority; 00066 OffensiveTacticsManagerAgent* parent; 00067 GoalDescriptor* goal; 00068 00069 Unit* refinery; 00070 bool monitorMode; 00071 00072 Unit* reporter; 00073 Unit* target; 00074 00075 int temporalFactor; 00076 // implementation-specific stuff, if needed 00077 00078 00079 }; 00080 00081 00082 00083 00084 class OffensiveTactics_ScannerSweepGoalGenerator : public GoalGeneratorBase { 00085 public: 00086 OffensiveTactics_ScannerSweepGoalGenerator(AgentPool* a, OffensiveTacticsManagerAgent* parent); 00087 00088 // generic stuff 00089 virtual void inhibit(); 00090 virtual bool instantiateGoal(); 00091 virtual void updateDrives(); 00092 virtual void initialize(); 00093 virtual int getdrive(); 00094 virtual int getthresh(); 00095 // what 00096 00097 00098 private: 00099 00100 // generic stuff 00101 bool inhibited; 00102 AgentPool* agentPool; 00103 int drive; 00104 int thresh; 00105 int priority; 00106 OffensiveTacticsManagerAgent* parent; 00107 GoalDescriptor* goal; 00108 00109 // implementation-specific stuff, if needed 00110 00111 00112 }; 00113 00114 #endif