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

        try
        {
            TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            int courseId;
            LuaObject.checkType(l, 2, out courseId);
            int techId;
            LuaObject.checkType(l, 3, out techId);
            int currentLvl;
            LuaObject.checkType(l, 4, out currentLvl);
            List <Goods> itemGot;
            LuaObject.checkType <List <Goods> >(l, 5, out itemGot);
            List <Goods> itemCost;
            LuaObject.checkType <List <Goods> >(l, 6, out itemCost);
            trainingGroundCompoment.m_luaExportHelper.__callBase_OutPutTeachnologyTreeOperateLog(courseId, techId, currentLvl, itemGot, itemCost);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int DeInit(IntPtr l)
    {
        int result;

        try
        {
            TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            trainingGroundCompoment.DeInit();
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int __callBase_PostDeSerialize(IntPtr l)
    {
        int result;

        try
        {
            TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            trainingGroundCompoment.m_luaExportHelper.__callBase_PostDeSerialize();
            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
        {
            TrainingGroundCompoment o = new TrainingGroundCompoment();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int __callBase_IterateAvailableTechs(IntPtr l)
    {
        int result;

        try
        {
            TrainingGroundCompoment    trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            IEnumerable <TrainingTech> o = trainingGroundCompoment.m_luaExportHelper.__callBase_IterateAvailableTechs();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int GetDSVersion(IntPtr l)
    {
        int result;

        try
        {
            TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            ushort dsversion = trainingGroundCompoment.GetDSVersion();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, dsversion);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int __callBase_Tick(IntPtr l)
    {
        int result;

        try
        {
            TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            uint deltaMillisecond;
            LuaObject.checkType(l, 2, out deltaMillisecond);
            trainingGroundCompoment.m_luaExportHelper.__callBase_Tick(deltaMillisecond);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int DeSerialize(IntPtr l)
    {
        int result;

        try
        {
            TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            DSTrainingGroundNtf     ntf;
            LuaObject.checkType <DSTrainingGroundNtf>(l, 2, out ntf);
            trainingGroundCompoment.DeSerialize(ntf);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int __callBase_GetSoldierSkillLevelBySoldierId(IntPtr l)
    {
        int result;

        try
        {
            TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            int soldierId;
            LuaObject.checkType(l, 2, out soldierId);
            int i = trainingGroundCompoment.m_luaExportHelper.__callBase_GetSoldierSkillLevelBySoldierId(soldierId);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, i);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int __callBase_GetRoom(IntPtr l)
    {
        int result;

        try
        {
            TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            int roomId;
            LuaObject.checkType(l, 2, out roomId);
            TrainingRoom o = trainingGroundCompoment.m_luaExportHelper.__callBase_GetRoom(roomId);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int __callBase_IsTechLocked(IntPtr l)
    {
        int result;

        try
        {
            TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            int techId;
            LuaObject.checkType(l, 2, out techId);
            bool b = trainingGroundCompoment.m_luaExportHelper.__callBase_IsTechLocked(techId);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, b);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int __callBase_ApplyTrainingTechToHero(IntPtr l)
    {
        int result;

        try
        {
            int num = LuaDLL.lua_gettop(l);
            if (num == 2)
            {
                TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
                Hero hero;
                LuaObject.checkType <Hero>(l, 2, out hero);
                trainingGroundCompoment.m_luaExportHelper.__callBase_ApplyTrainingTechToHero(hero);
                LuaObject.pushValue(l, true);
                result = 1;
            }
            else if (num == 3)
            {
                TrainingGroundCompoment trainingGroundCompoment2 = (TrainingGroundCompoment)LuaObject.checkSelf(l);
                Hero hero2;
                LuaObject.checkType <Hero>(l, 2, out hero2);
                TrainingTech tech;
                LuaObject.checkType <TrainingTech>(l, 3, out tech);
                trainingGroundCompoment2.m_luaExportHelper.__callBase_ApplyTrainingTechToHero(hero2, tech);
                LuaObject.pushValue(l, true);
                result = 1;
            }
            else
            {
                LuaObject.pushValue(l, false);
                LuaDLL.lua_pushstring(l, "No matched override function __callBase_ApplyTrainingTechToHero to call");
                result = 2;
            }
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int __callBase_TechLevelup(IntPtr l)
    {
        int result;

        try
        {
            TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            int techId;
            LuaObject.checkType(l, 2, out techId);
            int deltaLevel;
            LuaObject.checkType(l, 3, out deltaLevel);
            int i = trainingGroundCompoment.m_luaExportHelper.__callBase_TechLevelup(techId, deltaLevel);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, i);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int __callBase_GetResourceRequirementsByLevel(IntPtr l)
    {
        int result;

        try
        {
            TrainingGroundCompoment trainingGroundCompoment = (TrainingGroundCompoment)LuaObject.checkSelf(l);
            int techId;
            LuaObject.checkType(l, 2, out techId);
            int level;
            LuaObject.checkType(l, 3, out level);
            TrainingTechResourceRequirements o = trainingGroundCompoment.m_luaExportHelper.__callBase_GetResourceRequirementsByLevel(techId, level);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }