static int set_OnUninitializeHandler(IntPtr L)
    {
#if UNITY_EDITOR
        ToluaProfiler.AddCallRecord("Framework.SingletonBase.OnUninitializeHandler");
#endif
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Framework.SingletonBase obj = (Framework.SingletonBase)o;
            Framework.OnUninitializeStartHandler arg0 = (Framework.OnUninitializeStartHandler)ToLua.CheckDelegate <Framework.OnUninitializeStartHandler>(L, 2);
            obj.OnUninitializeHandler = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index OnUninitializeHandler on a nil value"));
        }
    }
    static int get_OnUninitializeHandler(IntPtr L)
    {
#if UNITY_EDITOR
        ToluaProfiler.AddCallRecord("Framework.SingletonBase.OnUninitializeHandler");
#endif
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Framework.SingletonBase obj = (Framework.SingletonBase)o;
            Framework.OnUninitializeStartHandler ret = obj.OnUninitializeHandler;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index OnUninitializeHandler on a nil value"));
        }
    }
    public Framework.OnUninitializeStartHandler Framework_OnUninitializeStartHandler(LuaFunction func, LuaTable self, bool flag)
    {
        if (func == null)
        {
            Framework.OnUninitializeStartHandler fn = delegate() { };
            return(fn);
        }

        if (!flag)
        {
            Framework_OnUninitializeStartHandler_Event target = new Framework_OnUninitializeStartHandler_Event(func);
            Framework.OnUninitializeStartHandler       d      = target.Call;
            target.method = d.Method;
            return(d);
        }
        else
        {
            Framework_OnUninitializeStartHandler_Event target = new Framework_OnUninitializeStartHandler_Event(func, self);
            Framework.OnUninitializeStartHandler       d      = target.CallWithSelf;
            target.method = d.Method;
            return(d);
        }
    }
    static int set_OnUninitializeHandler(IntPtr L)
    {
#if UNITY_EDITOR
        ToluaProfiler.AddCallRecord("Framework.MonoSingletonBase.set_OnUninitializeHandler");
#endif
        try
        {
            Framework.MonoSingletonBase obj = (Framework.MonoSingletonBase)ToLua.CheckObject(L, 1, typeof(Framework.MonoSingletonBase));
            EventObject arg0 = null;

            if (LuaDLL.lua_isuserdata(L, 2) != 0)
            {
                arg0 = (EventObject)ToLua.ToObject(L, 2);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "The event 'Framework.MonoSingletonBase.OnUninitializeHandler' can only appear on the left hand side of += or -= when used outside of the type 'Framework.MonoSingletonBase'"));
            }

            if (arg0.op == EventOp.Add)
            {
                Framework.OnUninitializeStartHandler ev = (Framework.OnUninitializeStartHandler)arg0.func;
                obj.OnUninitializeHandler += ev;
            }
            else if (arg0.op == EventOp.Sub)
            {
                Framework.OnUninitializeStartHandler ev = (Framework.OnUninitializeStartHandler)arg0.func;
                obj.OnUninitializeHandler -= ev;
            }

            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
 void Push_Framework_OnUninitializeStartHandler(IntPtr L, Framework.OnUninitializeStartHandler o)
 {
     ToLua.Push(L, o);
 }