static int FindLast(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <fogs.proto.msg.EquipInfo>      obj  = (List <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<fogs.proto.msg.EquipInfo>");
        Predicate <fogs.proto.msg.EquipInfo> arg0 = null;
        LuaTypes funcType2 = LuaDLL.lua_type(L, 2);

        if (funcType2 != LuaTypes.LUA_TFUNCTION)
        {
            arg0 = (Predicate <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObject(L, 2, typeof(Predicate <fogs.proto.msg.EquipInfo>));
        }
        else
        {
            LuaFunction func = LuaScriptMgr.GetLuaFunction(L, 2);
            arg0 = (param0) =>
            {
                int top = func.BeginPCall();
                LuaScriptMgr.PushObject(L, param0);
                func.PCall(top, 1);
                object[] objs = func.PopValues(top);
                func.EndPCall(top);
                return((bool)objs[0]);
            };
        }

        fogs.proto.msg.EquipInfo o = obj.FindLast(arg0);
        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
    static int Add(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <fogs.proto.msg.EquipInfo> obj = (List <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<fogs.proto.msg.EquipInfo>");

        fogs.proto.msg.EquipInfo arg0 = (fogs.proto.msg.EquipInfo)LuaScriptMgr.GetNetObject(L, 2, typeof(fogs.proto.msg.EquipInfo));
        obj.Add(arg0);
        return(0);
    }
    static int get_Item(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <fogs.proto.msg.EquipInfo> obj = (List <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<fogs.proto.msg.EquipInfo>");
        int arg0 = (int)LuaScriptMgr.GetNumber(L, 2);

        fogs.proto.msg.EquipInfo o = obj[arg0];
        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
    static int Insert(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 3);
        List <fogs.proto.msg.EquipInfo> obj = (List <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<fogs.proto.msg.EquipInfo>");
        int arg0 = (int)LuaScriptMgr.GetNumber(L, 2);

        fogs.proto.msg.EquipInfo arg1 = (fogs.proto.msg.EquipInfo)LuaScriptMgr.GetNetObject(L, 3, typeof(fogs.proto.msg.EquipInfo));
        obj.Insert(arg0, arg1);
        return(0);
    }
    static int Remove(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        List <fogs.proto.msg.EquipInfo> obj = (List <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<fogs.proto.msg.EquipInfo>");

        fogs.proto.msg.EquipInfo arg0 = (fogs.proto.msg.EquipInfo)LuaScriptMgr.GetNetObject(L, 2, typeof(fogs.proto.msg.EquipInfo));
        bool o = obj.Remove(arg0);

        LuaScriptMgr.Push(L, o);
        return(1);
    }
    static int _CreateEquipInfo(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 0)
        {
            fogs.proto.msg.EquipInfo obj = new fogs.proto.msg.EquipInfo();
            LuaScriptMgr.PushObject(L, obj);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: fogs.proto.msg.EquipInfo.New");
        }

        return(0);
    }
    static int BinarySearch(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 2)
        {
            List <fogs.proto.msg.EquipInfo> obj  = (List <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<fogs.proto.msg.EquipInfo>");
            fogs.proto.msg.EquipInfo        arg0 = (fogs.proto.msg.EquipInfo)LuaScriptMgr.GetNetObject(L, 2, typeof(fogs.proto.msg.EquipInfo));
            int o = obj.BinarySearch(arg0);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else if (count == 3)
        {
            List <fogs.proto.msg.EquipInfo>      obj  = (List <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<fogs.proto.msg.EquipInfo>");
            fogs.proto.msg.EquipInfo             arg0 = (fogs.proto.msg.EquipInfo)LuaScriptMgr.GetNetObject(L, 2, typeof(fogs.proto.msg.EquipInfo));
            IComparer <fogs.proto.msg.EquipInfo> arg1 = (IComparer <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObject(L, 3, typeof(IComparer <fogs.proto.msg.EquipInfo>));
            int o = obj.BinarySearch(arg0, arg1);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else if (count == 5)
        {
            List <fogs.proto.msg.EquipInfo> obj = (List <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<fogs.proto.msg.EquipInfo>");
            int arg0 = (int)LuaScriptMgr.GetNumber(L, 2);
            int arg1 = (int)LuaScriptMgr.GetNumber(L, 3);
            fogs.proto.msg.EquipInfo             arg2 = (fogs.proto.msg.EquipInfo)LuaScriptMgr.GetNetObject(L, 4, typeof(fogs.proto.msg.EquipInfo));
            IComparer <fogs.proto.msg.EquipInfo> arg3 = (IComparer <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObject(L, 5, typeof(IComparer <fogs.proto.msg.EquipInfo>));
            int o = obj.BinarySearch(arg0, arg1, arg2, arg3);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: List<fogs.proto.msg.EquipInfo>.BinarySearch");
        }

        return(0);
    }
    static int LastIndexOf(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 2)
        {
            List <fogs.proto.msg.EquipInfo> obj  = (List <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<fogs.proto.msg.EquipInfo>");
            fogs.proto.msg.EquipInfo        arg0 = (fogs.proto.msg.EquipInfo)LuaScriptMgr.GetNetObject(L, 2, typeof(fogs.proto.msg.EquipInfo));
            int o = obj.LastIndexOf(arg0);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else if (count == 3)
        {
            List <fogs.proto.msg.EquipInfo> obj  = (List <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<fogs.proto.msg.EquipInfo>");
            fogs.proto.msg.EquipInfo        arg0 = (fogs.proto.msg.EquipInfo)LuaScriptMgr.GetNetObject(L, 2, typeof(fogs.proto.msg.EquipInfo));
            int arg1 = (int)LuaScriptMgr.GetNumber(L, 3);
            int o    = obj.LastIndexOf(arg0, arg1);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else if (count == 4)
        {
            List <fogs.proto.msg.EquipInfo> obj  = (List <fogs.proto.msg.EquipInfo>)LuaScriptMgr.GetNetObjectSelf(L, 1, "List<fogs.proto.msg.EquipInfo>");
            fogs.proto.msg.EquipInfo        arg0 = (fogs.proto.msg.EquipInfo)LuaScriptMgr.GetNetObject(L, 2, typeof(fogs.proto.msg.EquipInfo));
            int arg1 = (int)LuaScriptMgr.GetNumber(L, 3);
            int arg2 = (int)LuaScriptMgr.GetNumber(L, 4);
            int o    = obj.LastIndexOf(arg0, arg1, arg2);
            LuaScriptMgr.Push(L, o);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: List<fogs.proto.msg.EquipInfo>.LastIndexOf");
        }

        return(0);
    }
    static int get_slot_info(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);

        fogs.proto.msg.EquipInfo obj = (fogs.proto.msg.EquipInfo)o;

        if (obj == null)
        {
            LuaTypes types = LuaDLL.lua_type(L, 1);

            if (types == LuaTypes.LUA_TTABLE)
            {
                LuaDLL.luaL_error(L, "unknown member name slot_info");
            }
            else
            {
                LuaDLL.luaL_error(L, "attempt to index slot_info on a nil value");
            }
        }

        LuaScriptMgr.PushObject(L, obj.slot_info);
        return(1);
    }
    static int set_pos(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);

        fogs.proto.msg.EquipInfo obj = (fogs.proto.msg.EquipInfo)o;

        if (obj == null)
        {
            LuaTypes types = LuaDLL.lua_type(L, 1);

            if (types == LuaTypes.LUA_TTABLE)
            {
                LuaDLL.luaL_error(L, "unknown member name pos");
            }
            else
            {
                LuaDLL.luaL_error(L, "attempt to index pos on a nil value");
            }
        }

        obj.pos = (fogs.proto.msg.FightStatus)LuaScriptMgr.GetNetObject(L, 3, typeof(fogs.proto.msg.FightStatus));
        return(0);
    }