//
// ProgramZergBaseUpgrade.h
//
// Program to do something with idle workers
// 

enum ProgramZergBaseUpgradeState
{
    ProgramZergBaseUpgradeSelectBaseLocation,
    ProgramZergBaseUpgradeSelectBase,
    ProgramZergBaseUpgradeUpgradeBase,
    ProgramZergBaseUpgradeWaitForSuccess,
};

class ProgramZergBaseUpgrade : public Program
{
public:
    void Init(UnitEntry *Entry);
    
    ProgramResultType ExecuteStep();

private:
    double _TimeoutTime;
    ProgramZergBaseUpgradeState _CurState;
    UnitEntry *_Entry;
};