static int MonoSingletoninterfaceOnUninitialize(IntPtr L)
    {
#if UNITY_EDITOR
        ToluaProfiler.AddCallRecord("Framework.MonoSingletonBase.MonoSingletoninterfaceOnUninitialize");
#endif
        try
        {
            ToLua.CheckArgsCount(L, 1);
            Framework.MonoSingletonBase obj = (Framework.MonoSingletonBase)ToLua.CheckObject <Framework.MonoSingletonBase>(L, 1);
            obj.MonoSingletoninterfaceOnUninitialize();
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
    static int get__onInitializeFinishedHandler(IntPtr L)
    {
#if UNITY_EDITOR
        ToluaProfiler.AddCallRecord("Framework.MonoSingletonBase._onInitializeFinishedHandler");
#endif
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Framework.MonoSingletonBase           obj = (Framework.MonoSingletonBase)o;
            Framework.onInitializeFinishedHandler ret = obj._onInitializeFinishedHandler;
            ToLua.Push(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index _onInitializeFinishedHandler on a nil value"));
        }
    }
    static int set__onUninitializeStartHandler(IntPtr L)
    {
#if UNITY_EDITOR
        ToluaProfiler.AddCallRecord("Framework.MonoSingletonBase._onUninitializeStartHandler");
#endif
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Framework.MonoSingletonBase          obj  = (Framework.MonoSingletonBase)o;
            Framework.onUninitializeStartHandler arg0 = (Framework.onUninitializeStartHandler)ToLua.CheckDelegate <Framework.onUninitializeStartHandler>(L, 2);
            obj._onUninitializeStartHandler = arg0;
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index _onUninitializeStartHandler on a nil value"));
        }
    }
    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.OnUninitializeEventHandler ev = (Framework.OnUninitializeEventHandler)arg0.func;
                obj.OnUninitializeHandler += ev;
            }
            else if (arg0.op == EventOp.Sub)
            {
                Framework.OnUninitializeEventHandler ev = (Framework.OnUninitializeEventHandler)arg0.func;
                obj.OnUninitializeHandler -= ev;
            }

            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }