static int RemoveListener(IntPtr L)
    {
        try
        {
            ToLua.CheckArgsCount(L, 3);
            int    arg0 = (int)LuaDLL.luaL_checknumber(L, 1);
            string arg1 = ToLua.CheckString(L, 2);
            Launch.ResourceMgr.ResourceHandler arg2 = null;
            LuaTypes funcType3 = LuaDLL.lua_type(L, 3);

            if (funcType3 != LuaTypes.LUA_TFUNCTION)
            {
                arg2 = (Launch.ResourceMgr.ResourceHandler)ToLua.CheckObject(L, 3, typeof(Launch.ResourceMgr.ResourceHandler));
            }
            else
            {
                LuaFunction func = ToLua.ToLuaFunction(L, 3);
                arg2 = DelegateFactory.CreateDelegate(typeof(Launch.ResourceMgr.ResourceHandler), func) as Launch.ResourceMgr.ResourceHandler;
            }

            Launch.CTLResource.RemoveListener(arg0, arg1, arg2);
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
    public static Delegate Launch_ResourceMgr_ResourceHandler(LuaFunction func, LuaTable self, bool flag)
    {
        if (func == null)
        {
            Launch.ResourceMgr.ResourceHandler fn = delegate(Launch.Resource param0) { };
            return(fn);
        }

        if (!flag)
        {
            Launch_ResourceMgr_ResourceHandler_Event target = new Launch_ResourceMgr_ResourceHandler_Event(func);
            Launch.ResourceMgr.ResourceHandler       d      = target.Call;
            target.method = d.Method;
            return(d);
        }
        else
        {
            Launch_ResourceMgr_ResourceHandler_Event target = new Launch_ResourceMgr_ResourceHandler_Event(func, self);
            Launch.ResourceMgr.ResourceHandler       d      = target.CallWithSelf;
            target.method = d.Method;
            return(d);
        }
    }