BWAPI
|
00001 #ifndef RESOURCE_GOALHEADERS_H 00002 #define RESOURCE_GOALHEADERS_H 00003 #include "GoalGeneratorBase.h" 00004 #include "GoalTypes.h" 00005 00006 class ResourceManagerAgent; 00007 00008 // worker training goal 00009 class Resource_TrainWorkerGoalGenerator : public GoalGeneratorBase { 00010 public: 00011 Resource_TrainWorkerGoalGenerator(AgentPool* a, ResourceManagerAgent* 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 void setInitialMineralPatchSize(int num); 00022 00023 private: 00024 00025 // generic stuff 00026 bool inhibited; 00027 AgentPool* agentPool; 00028 int drive; 00029 int thresh; 00030 int priority; 00031 ResourceManagerAgent* parent; 00032 GoalDescriptor* goal; 00033 00034 // implementation-specific stuff, if needed 00035 int numMinerals; // count of how many mineral deposits are at the starting point 00036 00037 00038 }; 00039 00040 class Resource_BuildSupplyGoalGenerator : public GoalGeneratorBase { 00041 public: 00042 Resource_BuildSupplyGoalGenerator(AgentPool* a, ResourceManagerAgent* parent); 00043 00044 // generic stuff 00045 virtual void inhibit(); 00046 virtual bool instantiateGoal(); 00047 virtual void updateDrives(); 00048 virtual void initialize(); 00049 virtual int getdrive(); 00050 virtual int getthresh(); 00051 // what, if needed 00052 00053 00054 private: 00055 00056 // generic stuff 00057 bool inhibited; 00058 AgentPool* agentPool; 00059 int drive; 00060 int thresh; 00061 int priority; 00062 ResourceManagerAgent* parent; 00063 GoalDescriptor* goal; 00064 int temporalFactor; 00065 // implementation-specific stuff, if needed 00066 00067 00068 }; 00069 00070 class Resource_BuildRefineryGoalGenerator : public GoalGeneratorBase { 00071 public: 00072 Resource_BuildRefineryGoalGenerator(AgentPool* a, ResourceManagerAgent* parent); 00073 00074 // generic stuff 00075 virtual void inhibit(); 00076 virtual bool instantiateGoal(); 00077 virtual void updateDrives(); 00078 virtual void initialize(); 00079 virtual int getdrive(); 00080 virtual int getthresh(); 00081 00082 // what, if needed 00083 00084 00085 private: 00086 00087 // generic stuff 00088 bool inhibited; 00089 AgentPool* agentPool; 00090 int drive; 00091 int thresh; 00092 int priority; 00093 ResourceManagerAgent* parent; 00094 GoalDescriptor* goal; 00095 00096 // implementation-specific stuff, if needed 00097 00098 00099 }; 00100 00101 00102 00103 // worker training goal 00104 class Resource_BuildExpansionGoalGenerator : public GoalGeneratorBase { 00105 public: 00106 Resource_BuildExpansionGoalGenerator(AgentPool* a, ResourceManagerAgent* parent); 00107 00108 // generic stuff 00109 virtual void inhibit(); 00110 virtual bool instantiateGoal(); 00111 virtual void updateDrives(); 00112 virtual void initialize(); 00113 virtual int getdrive(); 00114 virtual int getthresh(); 00115 // what 00116 00117 00118 private: 00119 00120 // generic stuff 00121 bool inhibited; 00122 AgentPool* agentPool; 00123 int drive; 00124 int thresh; 00125 int priority; 00126 ResourceManagerAgent* parent; 00127 GoalDescriptor* goal; 00128 int temporalFactor; 00129 // implementation-specific stuff, if needed 00130 00131 00132 }; 00133 00134 00135 class Resource_ClearObstructionsGoalGenerator : public GoalGeneratorBase { 00136 public: 00137 Resource_ClearObstructionsGoalGenerator(AgentPool* a, ResourceManagerAgent* parent); 00138 00139 // generic stuff 00140 virtual void inhibit(); 00141 virtual bool instantiateGoal(); 00142 virtual void updateDrives(); 00143 virtual void initialize(); 00144 virtual int getdrive(); 00145 virtual int getthresh(); 00146 // what 00147 void setInitialMineralPatchSize(int num); 00148 00149 private: 00150 00151 // generic stuff 00152 bool inhibited; 00153 AgentPool* agentPool; 00154 int drive; 00155 int thresh; 00156 int priority; 00157 ResourceManagerAgent* parent; 00158 GoalDescriptor* goal; 00159 int temporalFactor; 00160 00161 // implementation-specific stuff, if needed 00162 00163 00164 }; 00165 00166 00167 #endif