public Framework.OnInitializeEventHandler Framework_OnInitializeEventHandler(LuaFunction func, LuaTable self, bool flag)
    {
        if (func == null)
        {
            Framework.OnInitializeEventHandler fn = delegate() { };
            return(fn);
        }

        if (!flag)
        {
            Framework_OnInitializeEventHandler_Event target = new Framework_OnInitializeEventHandler_Event(func);
            Framework.OnInitializeEventHandler       d      = target.Call;
            target.method = d.Method;
            return(d);
        }
        else
        {
            Framework_OnInitializeEventHandler_Event target = new Framework_OnInitializeEventHandler_Event(func, self);
            Framework.OnInitializeEventHandler       d      = target.CallWithSelf;
            target.method = d.Method;
            return(d);
        }
    }
    static int set_OnInitializeHandler(IntPtr L)
    {
#if UNITY_EDITOR
        ToluaProfiler.AddCallRecord("Framework.MonoSingletonBase.set_OnInitializeHandler");
#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.OnInitializeHandler' can only appear on the left hand side of += or -= when used outside of the type 'Framework.MonoSingletonBase'"));
            }

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

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