// // ProgramProduceUnitQueue.h // // Program to produce units in a standard unit queue // 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; };