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

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            int             chapterId;
            LuaObject.checkType(l, 2, out chapterId);
            int levelId;
            LuaObject.checkType(l, 3, out levelId);
            int nums;
            LuaObject.checkType(l, 4, out nums);
            int stars;
            LuaObject.checkType(l, 5, out stars);
            dataSectionRift.InitLevel(chapterId, levelId, nums, stars);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int get_AchievementRelationIds(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, dataSectionRift.AchievementRelationIds);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int constructor(IntPtr l)
    {
        int result;

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

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            dataSectionRift.ClearInitedData();
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int ResetLevelChallengeNums(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            dataSectionRift.ResetLevelChallengeNums();
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int get_LastRiftRankUpdateTime(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, dataSectionRift.LastRiftRankUpdateTime);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int SerializeToClient(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            object          o = dataSectionRift.SerializeToClient();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int GetAllRiftLevelStars(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift   = (DataSectionRift)LuaObject.checkSelf(l);
            int             allRiftLevelStars = dataSectionRift.GetAllRiftLevelStars();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, allRiftLevelStars);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int FindLevel(IntPtr l)
    {
        int result;

        try
        {
            int total = LuaDLL.lua_gettop(l);
            if (LuaObject.matchType(l, total, 2, typeof(RiftChapter), typeof(int)))
            {
                DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
                RiftChapter     chapter;
                LuaObject.checkType <RiftChapter>(l, 2, out chapter);
                int levelId;
                LuaObject.checkType(l, 3, out levelId);
                RiftLevel o = dataSectionRift.FindLevel(chapter, levelId);
                LuaObject.pushValue(l, true);
                LuaObject.pushValue(l, o);
                result = 2;
            }
            else if (LuaObject.matchType(l, total, 2, typeof(int), typeof(int)))
            {
                DataSectionRift dataSectionRift2 = (DataSectionRift)LuaObject.checkSelf(l);
                int             chapterId;
                LuaObject.checkType(l, 2, out chapterId);
                int levelId2;
                LuaObject.checkType(l, 3, out levelId2);
                RiftLevel o2 = dataSectionRift2.FindLevel(chapterId, levelId2);
                LuaObject.pushValue(l, true);
                LuaObject.pushValue(l, o2);
                result = 2;
            }
            else
            {
                LuaObject.pushValue(l, false);
                LuaDLL.lua_pushstring(l, "No matched override function FindLevel to call");
                result = 2;
            }
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_FinishedRiftLevelIds(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            HashSet <int>   finishedRiftLevelIds;
            LuaObject.checkType <HashSet <int> >(l, 2, out finishedRiftLevelIds);
            dataSectionRift.FinishedRiftLevelIds = finishedRiftLevelIds;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_Chapters(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            Dictionary <int, RiftChapter> chapters;
            LuaObject.checkType <Dictionary <int, RiftChapter> >(l, 2, out chapters);
            dataSectionRift.Chapters = chapters;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_LastRiftStarsRank(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            int             lastRiftStarsRank;
            LuaObject.checkType(l, 2, out lastRiftStarsRank);
            dataSectionRift.LastRiftStarsRank = lastRiftStarsRank;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_AchievementRelationIds(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            HashSet <int>   achievementRelationIds;
            LuaObject.checkType <HashSet <int> >(l, 2, out achievementRelationIds);
            dataSectionRift.AchievementRelationIds = achievementRelationIds;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_LastRiftRankUpdateTime(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            DateTime        lastRiftRankUpdateTime;
            LuaObject.checkValueType <DateTime>(l, 2, out lastRiftRankUpdateTime);
            dataSectionRift.LastRiftRankUpdateTime = lastRiftRankUpdateTime;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int HasGotAchievementRelationId(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            int             achievementId;
            LuaObject.checkType(l, 2, out achievementId);
            bool b = dataSectionRift.HasGotAchievementRelationId(achievementId);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, b);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int GetLevelChallengeNums(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            RiftLevel       riftLevel;
            LuaObject.checkType <RiftLevel>(l, 2, out riftLevel);
            int levelChallengeNums = dataSectionRift.GetLevelChallengeNums(riftLevel);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, levelChallengeNums);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int GetChapterTotalStars(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            int             chapterId;
            LuaObject.checkType(l, 2, out chapterId);
            int chapterTotalStars = dataSectionRift.GetChapterTotalStars(chapterId);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, chapterTotalStars);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int FindChapter(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            int             chapterId;
            LuaObject.checkType(l, 2, out chapterId);
            RiftChapter o = dataSectionRift.FindChapter(chapterId);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int AddAchievementRelationId(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            int             achievementId;
            LuaObject.checkType(l, 2, out achievementId);
            DateTime currTime;
            LuaObject.checkValueType <DateTime>(l, 3, out currTime);
            dataSectionRift.AddAchievementRelationId(achievementId, currTime);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int AddChapterStarReward(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            int             chapterId;
            LuaObject.checkType(l, 2, out chapterId);
            int index;
            LuaObject.checkType(l, 3, out index);
            dataSectionRift.AddChapterStarReward(chapterId, index);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int InitAchievementRelationIds(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            List <int>      achievementRelationIds;
            LuaObject.checkType <List <int> >(l, 2, out achievementRelationIds);
            DateTime updateTime;
            LuaObject.checkValueType <DateTime>(l, 3, out updateTime);
            int lastRiftAchievment;
            LuaObject.checkType(l, 4, out lastRiftAchievment);
            dataSectionRift.InitAchievementRelationIds(achievementRelationIds, updateTime, lastRiftAchievment);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int InitAllChapterStar(IntPtr l)
    {
        int result;

        try
        {
            DataSectionRift dataSectionRift = (DataSectionRift)LuaObject.checkSelf(l);
            DateTime        updateTime;
            LuaObject.checkValueType <DateTime>(l, 2, out updateTime);
            int lastRiftStars;
            LuaObject.checkType(l, 3, out lastRiftStars);
            DateTime lastRiftRankUpdateTime;
            LuaObject.checkValueType <DateTime>(l, 4, out lastRiftRankUpdateTime);
            dataSectionRift.InitAllChapterStar(updateTime, lastRiftStars, lastRiftRankUpdateTime);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }