static public int CallLater(IntPtr l)
 {
     try {
         int argc = LuaDLL.lua_gettop(l);
         if (argc == 2)
         {
             FairyGUI.Timers        self = (FairyGUI.Timers)checkSelf(l);
             FairyGUI.TimerCallback a1;
             LuaDelegation.checkDelegate(l, 2, out a1);
             self.CallLater(a1);
             pushValue(l, true);
             return(1);
         }
         else if (argc == 3)
         {
             FairyGUI.Timers        self = (FairyGUI.Timers)checkSelf(l);
             FairyGUI.TimerCallback a1;
             LuaDelegation.checkDelegate(l, 2, out a1);
             System.Object a2;
             checkType(l, 3, out a2);
             self.CallLater(a1, a2);
             pushValue(l, true);
             return(1);
         }
         pushValue(l, false);
         LuaDLL.lua_pushstring(l, "No matched override function to call");
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
    static int CallLater(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 2)
            {
                FairyGUI.Timers        obj  = (FairyGUI.Timers)ToLua.CheckObject <FairyGUI.Timers>(L, 1);
                FairyGUI.TimerCallback arg0 = (FairyGUI.TimerCallback)ToLua.CheckDelegate <FairyGUI.TimerCallback>(L, 2);
                obj.CallLater(arg0);
                return(0);
            }
            else if (count == 3)
            {
                FairyGUI.Timers        obj  = (FairyGUI.Timers)ToLua.CheckObject <FairyGUI.Timers>(L, 1);
                FairyGUI.TimerCallback arg0 = (FairyGUI.TimerCallback)ToLua.CheckDelegate <FairyGUI.TimerCallback>(L, 2);
                object arg1 = ToLua.ToVarObject(L, 3);
                obj.CallLater(arg0, arg1);
                return(0);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: FairyGUI.Timers.CallLater"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
    static int CallLater(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(FairyGUI.Timers), typeof(FairyGUI.TimerCallback)))
            {
                FairyGUI.Timers        obj  = (FairyGUI.Timers)ToLua.ToObject(L, 1);
                FairyGUI.TimerCallback arg0 = null;
                LuaTypes funcType2          = LuaDLL.lua_type(L, 2);

                if (funcType2 != LuaTypes.LUA_TFUNCTION)
                {
                    arg0 = (FairyGUI.TimerCallback)ToLua.ToObject(L, 2);
                }
                else
                {
                    LuaFunction func = ToLua.ToLuaFunction(L, 2);
                    arg0 = DelegateFactory.CreateDelegate(typeof(FairyGUI.TimerCallback), func) as FairyGUI.TimerCallback;
                }

                obj.CallLater(arg0);
                return(0);
            }
            else if (count == 3 && TypeChecker.CheckTypes(L, 1, typeof(FairyGUI.Timers), typeof(FairyGUI.TimerCallback), typeof(object)))
            {
                FairyGUI.Timers        obj  = (FairyGUI.Timers)ToLua.ToObject(L, 1);
                FairyGUI.TimerCallback arg0 = null;
                LuaTypes funcType2          = LuaDLL.lua_type(L, 2);

                if (funcType2 != LuaTypes.LUA_TFUNCTION)
                {
                    arg0 = (FairyGUI.TimerCallback)ToLua.ToObject(L, 2);
                }
                else
                {
                    LuaFunction func = ToLua.ToLuaFunction(L, 2);
                    arg0 = DelegateFactory.CreateDelegate(typeof(FairyGUI.TimerCallback), func) as FairyGUI.TimerCallback;
                }

                object arg1 = ToLua.ToVarObject(L, 3);
                obj.CallLater(arg0, arg1);
                return(0);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: FairyGUI.Timers.CallLater"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }