BWAPI
|
00001 #ifndef MECHUTIL_GOALHEADERS_H 00002 #define MECHUTIL_GOALHEADERS_H 00003 #include "GoalGeneratorBase.h" 00004 #include "GoalTypes.h" 00005 00006 class ResearchManagerAgent; 00007 00008 // worker training goal 00009 class Research_SiegeModeGoalGenerator : public GoalGeneratorBase { 00010 public: 00011 Research_SiegeModeGoalGenerator(AgentPool* a, ResearchManagerAgent* 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 ResearchManagerAgent* parent; 00032 GoalDescriptor* goal; 00033 00034 // implementation-specific stuff, if needed 00035 00036 00037 }; 00038 00039 00040 // worker training goal 00041 class Research_CharonBoostersGoalGenerator : public GoalGeneratorBase { 00042 public: 00043 Research_CharonBoostersGoalGenerator(AgentPool* a, ResearchManagerAgent* parent); 00044 00045 // generic stuff 00046 virtual void inhibit(); 00047 virtual bool instantiateGoal(); 00048 virtual void updateDrives(); 00049 virtual void initialize(); 00050 virtual int getdrive(); 00051 virtual int getthresh(); 00052 // what 00053 00054 00055 private: 00056 00057 // generic stuff 00058 bool inhibited; 00059 AgentPool* agentPool; 00060 int drive; 00061 int thresh; 00062 int priority; 00063 ResearchManagerAgent* parent; 00064 GoalDescriptor* goal; 00065 00066 // implementation-specific stuff, if needed 00067 00068 00069 }; 00070 00071 00072 // worker training goal 00073 class Research_IonThrusterGoalGenerator : public GoalGeneratorBase { 00074 public: 00075 Research_IonThrusterGoalGenerator(AgentPool* a, ResearchManagerAgent* parent); 00076 00077 // generic stuff 00078 virtual void inhibit(); 00079 virtual bool instantiateGoal(); 00080 virtual void updateDrives(); 00081 virtual void initialize(); 00082 virtual int getdrive(); 00083 virtual int getthresh(); 00084 // what 00085 00086 00087 private: 00088 00089 // generic stuff 00090 bool inhibited; 00091 AgentPool* agentPool; 00092 int drive; 00093 int thresh; 00094 int priority; 00095 ResearchManagerAgent* parent; 00096 GoalDescriptor* goal; 00097 00098 // implementation-specific stuff, if needed 00099 00100 00101 }; 00102 00103 00104 class Research_WraithCloakGoalGenerator : public GoalGeneratorBase { 00105 00106 public: 00107 Research_WraithCloakGoalGenerator(AgentPool* a, ResearchManagerAgent* parent); 00108 00109 // generic stuff 00110 virtual void inhibit(); 00111 virtual bool instantiateGoal(); 00112 virtual void updateDrives(); 00113 virtual void initialize(); 00114 virtual int getdrive(); 00115 virtual int getthresh(); 00116 // what 00117 00118 00119 private: 00120 00121 // generic stuff 00122 bool inhibited; 00123 AgentPool* agentPool; 00124 int drive; 00125 int thresh; 00126 int priority; 00127 ResearchManagerAgent* parent; 00128 GoalDescriptor* goal; 00129 00130 // implementation-specific stuff, if needed 00131 00132 00133 }; 00134 00135 00136 00137 class Research_ScienceVesselEMPGoalGenerator : public GoalGeneratorBase { 00138 00139 public: 00140 Research_ScienceVesselEMPGoalGenerator(AgentPool* a, ResearchManagerAgent* parent); 00141 00142 // generic stuff 00143 virtual void inhibit(); 00144 virtual bool instantiateGoal(); 00145 virtual void updateDrives(); 00146 virtual void initialize(); 00147 virtual int getdrive(); 00148 virtual int getthresh(); 00149 // what 00150 00151 00152 private: 00153 00154 // generic stuff 00155 bool inhibited; 00156 AgentPool* agentPool; 00157 int drive; 00158 int thresh; 00159 int priority; 00160 ResearchManagerAgent* parent; 00161 GoalDescriptor* goal; 00162 00163 // implementation-specific stuff, if needed 00164 00165 00166 }; 00167 00168 class Research_ScienceVesselIrradiateGoalGenerator : public GoalGeneratorBase { 00169 00170 public: 00171 Research_ScienceVesselIrradiateGoalGenerator(AgentPool* a, ResearchManagerAgent* parent); 00172 00173 // generic stuff 00174 virtual void inhibit(); 00175 virtual bool instantiateGoal(); 00176 virtual void updateDrives(); 00177 virtual void initialize(); 00178 virtual int getdrive(); 00179 virtual int getthresh(); 00180 // what 00181 00182 00183 private: 00184 00185 // generic stuff 00186 bool inhibited; 00187 AgentPool* agentPool; 00188 int drive; 00189 int thresh; 00190 int priority; 00191 ResearchManagerAgent* parent; 00192 GoalDescriptor* goal; 00193 00194 // implementation-specific stuff, if needed 00195 00196 00197 }; 00198 00199 #endif