예제 #1
0
        static int _m_Register(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                Logic.Misc.Scheduler __cl_gen_to_be_invoked = (Logic.Misc.Scheduler)translator.FastGetCSObj(L, 1);


                int __gen_param_count = LuaAPI.lua_gettop(L);

                if (__gen_param_count == 5 && translator.Assignable <float[]>(L, 2) && translator.Assignable <Logic.Misc.ScheduleEntry.ScheduleHandler>(L, 3) && translator.Assignable <Logic.Misc.ScheduleEntry.CompleteHandler>(L, 4) && translator.Assignable <object>(L, 5))
                {
                    float[] times = (float[])translator.GetObject(L, 2, typeof(float[]));
                    Logic.Misc.ScheduleEntry.ScheduleHandler timerCallback    = translator.GetDelegate <Logic.Misc.ScheduleEntry.ScheduleHandler>(L, 3);
                    Logic.Misc.ScheduleEntry.CompleteHandler completeCallback = translator.GetDelegate <Logic.Misc.ScheduleEntry.CompleteHandler>(L, 4);
                    object param = translator.GetObject(L, 5, typeof(object));

                    uint __cl_gen_ret = __cl_gen_to_be_invoked.Register(times, timerCallback, completeCallback, param);
                    LuaAPI.xlua_pushuint(L, __cl_gen_ret);



                    return(1);
                }
                if (__gen_param_count == 4 && translator.Assignable <float[]>(L, 2) && translator.Assignable <Logic.Misc.ScheduleEntry.ScheduleHandler>(L, 3) && translator.Assignable <Logic.Misc.ScheduleEntry.CompleteHandler>(L, 4))
                {
                    float[] times = (float[])translator.GetObject(L, 2, typeof(float[]));
                    Logic.Misc.ScheduleEntry.ScheduleHandler timerCallback    = translator.GetDelegate <Logic.Misc.ScheduleEntry.ScheduleHandler>(L, 3);
                    Logic.Misc.ScheduleEntry.CompleteHandler completeCallback = translator.GetDelegate <Logic.Misc.ScheduleEntry.CompleteHandler>(L, 4);

                    uint __cl_gen_ret = __cl_gen_to_be_invoked.Register(times, timerCallback, completeCallback);
                    LuaAPI.xlua_pushuint(L, __cl_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 Logic.Misc.Scheduler.Register!"));
        }
예제 #2
0
        static int _m_Unregister(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                Logic.Misc.Scheduler __cl_gen_to_be_invoked = (Logic.Misc.Scheduler)translator.FastGetCSObj(L, 1);



                {
                    Logic.Misc.ScheduleEntry.ScheduleHandler callback = translator.GetDelegate <Logic.Misc.ScheduleEntry.ScheduleHandler>(L, 2);

                    __cl_gen_to_be_invoked.Unregister(callback);



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