enum ProgramProduceUnitQueueState
{
ProgramProduceUnitQueueSelectSupportBuildings,
ProgramProduceUnitQueueSelectSupportBuilding,
ProgramProduceUnitQueueProduce,
ProgramProduceUnitQueueWaitForUnit,
ProgramProduceUnitQueueWarpGateMoveToSpawnPoint,
ProgramProduceUnitQueueWarpGateSelectUnit,
ProgramProduceUnitQueueWarpGateFindSpawnLocation,
};
class ProgramProduceUnitQueue : public Program
{
public:
void Init(UnitEntry *Entry);
ProgramResultType ExecuteStep();
private:
UnitEntry *_Entry;
double _TimeoutTime;
ProgramProduceUnitQueueState _CurState;
};