public static int set_Now(IntPtr l)
    {
        int result;

        try
        {
            HeroPhantomCollections heroPhantomCollections = (HeroPhantomCollections)LuaObject.checkSelf(l);
            CurrentTime            currentTime;
            int num = LuaObject.checkDelegate <CurrentTime>(l, 2, out currentTime);
            if (num == 0)
            {
                heroPhantomCollections.Now = currentTime;
            }
            else if (num == 1)
            {
                HeroPhantomCollections heroPhantomCollections2 = heroPhantomCollections;
                heroPhantomCollections2.Now = (CurrentTime)Delegate.Combine(heroPhantomCollections2.Now, currentTime);
            }
            else if (num == 2)
            {
                HeroPhantomCollections heroPhantomCollections3 = heroPhantomCollections;
                heroPhantomCollections3.Now = (CurrentTime)Delegate.Remove(heroPhantomCollections3.Now, currentTime);
            }
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int ReloadConfigData(IntPtr l)
    {
        int result;

        try
        {
            HeroPhantomCollections heroPhantomCollections = (HeroPhantomCollections)LuaObject.checkSelf(l);
            heroPhantomCollections.ReloadConfigData();
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int constructor(IntPtr l)
    {
        int result;

        try
        {
            HeroPhantomCollections o = new HeroPhantomCollections();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int get_HeroPhantoms(IntPtr l)
    {
        int result;

        try
        {
            HeroPhantomCollections heroPhantomCollections = (HeroPhantomCollections)LuaObject.checkSelf(l);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, heroPhantomCollections.HeroPhantoms);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_ConfigDataLoader(IntPtr l)
    {
        int result;

        try
        {
            HeroPhantomCollections heroPhantomCollections = (HeroPhantomCollections)LuaObject.checkSelf(l);
            IConfigDataLoader      configDataLoader;
            LuaObject.checkType <IConfigDataLoader>(l, 2, out configDataLoader);
            heroPhantomCollections.ConfigDataLoader = configDataLoader;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_HeroPhantoms(IntPtr l)
    {
        int result;

        try
        {
            HeroPhantomCollections heroPhantomCollections = (HeroPhantomCollections)LuaObject.checkSelf(l);
            List <HeroPhantom>     heroPhantoms;
            LuaObject.checkType <List <HeroPhantom> >(l, 2, out heroPhantoms);
            heroPhantomCollections.HeroPhantoms = heroPhantoms;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int GetHeroPhantomLevel(IntPtr l)
    {
        int result;

        try
        {
            HeroPhantomCollections heroPhantomCollections = (HeroPhantomCollections)LuaObject.checkSelf(l);
            int levelId;
            LuaObject.checkType(l, 2, out levelId);
            HeroPhantomLevel heroPhantomLevel = heroPhantomCollections.GetHeroPhantomLevel(levelId);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, heroPhantomLevel);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }