static int _CreateLogic_Skill_Model_SkillDesInfo(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 5)
            {
                Logic.Enums.MechanicsType      arg0 = (Logic.Enums.MechanicsType)ToLua.CheckObject(L, 1, typeof(Logic.Enums.MechanicsType));
                Logic.Enums.TargetType         arg1 = (Logic.Enums.TargetType)ToLua.CheckObject(L, 2, typeof(Logic.Enums.TargetType));
                Logic.Enums.MechanicsValueType arg2 = (Logic.Enums.MechanicsValueType)ToLua.CheckObject(L, 3, typeof(Logic.Enums.MechanicsValueType));
                float arg3 = (float)LuaDLL.luaL_checknumber(L, 4);
                bool  arg4 = LuaDLL.luaL_checkboolean(L, 5);
                Logic.Skill.Model.SkillDesInfo obj = new Logic.Skill.Model.SkillDesInfo(arg0, arg1, arg2, arg3, arg4);
                ToLua.PushObject(L, obj);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: Logic.Skill.Model.SkillDesInfo.New"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
    static int IntToEnum(IntPtr L)
    {
        int arg0 = (int)LuaDLL.lua_tonumber(L, 1);

        Logic.Enums.MechanicsType o = (Logic.Enums.MechanicsType)arg0;
        ToLua.Push(L, o);
        return(1);
    }
    static int set_mechanicsType(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Logic.Skill.Model.MechanicsData obj  = (Logic.Skill.Model.MechanicsData)o;
            Logic.Enums.MechanicsType       arg0 = (Logic.Enums.MechanicsType)ToLua.CheckObject(L, 2, typeof(Logic.Enums.MechanicsType));
            obj.mechanicsType = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index mechanicsType on a nil value" : e.Message));
        }
    }
    static int get_mechanicsType(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Logic.Skill.Model.MechanicsData obj = (Logic.Skill.Model.MechanicsData)o;
            Logic.Enums.MechanicsType       ret = obj.mechanicsType;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index mechanicsType on a nil value" : e.Message));
        }
    }