// // ProgramProduceUnitUpgrade.h // // Program to research upgrades // enum ProgramProduceUnitUpgradeState { ProgramProduceUnitUpgradeSelectSupportBuildings, ProgramProduceUnitUpgradeSelectSupportBuilding, ProgramProduceUnitUpgradeResearch, ProgramProduceUnitUpgradeWaitForSuccess, }; class ProgramProduceUnitUpgrade : public Program { public: void Init(UnitEntry *Entry); ProgramResultType ExecuteStep(); private: UnitEntry *_Entry; double _TimeoutTime; ProgramProduceUnitUpgradeState _CurState; };