static int _m_AttachTimer(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                UnityEngine.MonoBehaviour gen_to_be_invoked = (UnityEngine.MonoBehaviour)translator.FastGetCSObj(L, 1);


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 6 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2) && translator.Assignable <System.Action>(L, 3) && translator.Assignable <System.Action <float> >(L, 4) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 5) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 6))
                {
                    float                 _duration   = (float)LuaAPI.lua_tonumber(L, 2);
                    System.Action         _onComplete = translator.GetDelegate <System.Action>(L, 3);
                    System.Action <float> _onUpdate   = translator.GetDelegate <System.Action <float> >(L, 4);
                    bool _isLooped    = LuaAPI.lua_toboolean(L, 5);
                    bool _useRealTime = LuaAPI.lua_toboolean(L, 6);

                    UnityMMO.Timer gen_ret = gen_to_be_invoked.AttachTimer(_duration, _onComplete, _onUpdate, _isLooped, _useRealTime);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 5 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2) && translator.Assignable <System.Action>(L, 3) && translator.Assignable <System.Action <float> >(L, 4) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 5))
                {
                    float                 _duration   = (float)LuaAPI.lua_tonumber(L, 2);
                    System.Action         _onComplete = translator.GetDelegate <System.Action>(L, 3);
                    System.Action <float> _onUpdate   = translator.GetDelegate <System.Action <float> >(L, 4);
                    bool _isLooped = LuaAPI.lua_toboolean(L, 5);

                    UnityMMO.Timer gen_ret = gen_to_be_invoked.AttachTimer(_duration, _onComplete, _onUpdate, _isLooped);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 4 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2) && translator.Assignable <System.Action>(L, 3) && translator.Assignable <System.Action <float> >(L, 4))
                {
                    float                 _duration   = (float)LuaAPI.lua_tonumber(L, 2);
                    System.Action         _onComplete = translator.GetDelegate <System.Action>(L, 3);
                    System.Action <float> _onUpdate   = translator.GetDelegate <System.Action <float> >(L, 4);

                    UnityMMO.Timer gen_ret = gen_to_be_invoked.AttachTimer(_duration, _onComplete, _onUpdate);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 3 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2) && translator.Assignable <System.Action>(L, 3))
                {
                    float         _duration   = (float)LuaAPI.lua_tonumber(L, 2);
                    System.Action _onComplete = translator.GetDelegate <System.Action>(L, 3);

                    UnityMMO.Timer gen_ret = gen_to_be_invoked.AttachTimer(_duration, _onComplete);
                    translator.Push(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }

            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.MonoBehaviour.AttachTimer!"));
        }