1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#ifndef E323_TASKBUILD_H
#define E323_TASKBUILD_H
#include "../ATask.h"
struct UnitType;
struct BuildTask: public ATask {
BuildTask(AIClasses *_ai): ATask(_ai) { t = TASK_BUILD; }
BuildTask(AIClasses *_ai, buildType build, UnitType *toBuild, CGroup &group, float3 &pos);
/* Build type to string */
static std::map<buildType, std::string> buildStr;
bool building;
/* The build task */
buildType bt;
/* The ETA in frames */
unsigned int eta;
/* The UnitType to build */
UnitType* toBuild;
/* overload */
void onUpdate();
/* overload */
bool onValidate();
/* overload */
void toStream(std::ostream& out) const;
/* overload */
void onUnitDestroyed(int uid, int attacker);
bool assistable(CGroup &group, float &travelTime) const;
};
#endif
|