#ifndef _CRITICAL_RES_DEFINE_H_
#define _CRITICAL_RES_DEFINE_H_
struct CriticalRes
{
    bool bLocked;
    int iOwner;
    CriticalRes()
    {
        bLocked = false;
        iOwner = 0;
    };
};

enum CriticalResId
{
    kResReserve = 1UL,
    kResCassete = 1UL << 1,
    kResRailNear = 1UL << 2,
    kResRailFar = 1UL << 3,
    kResTransfer = 1UL << 4,
    kResCoat = 1UL << 5,
    kResClean = 1UL << 6,
    kResLoad = 1UL << 7,
    kResWt = 1UL << 8,
    kResUnload = 1UL << 9,
    kResCheckBox = 1UL << 10,
    kResDoorOpen = 1UL << 11,
    kAreaClean = 1UL << 12,
    kAreaCoat = 1UL << 13,
    kVsmTransfer = 1UL << 14,
    kVsmWorktable = 1UL << 15,
    kVsmUnload = 1UL << 16,
    kVsmLoad = 1UL << 17,
    kVsmCoat = 1UL << 18,
    kVsmClean = 1UL << 19,
};

#define ResManager() CCriticalResManager::GetInstance()
#endif
