コード例 #1
0
    static int LoadScene(IntPtr L)
    {
        try
        {
            ToLua.CheckArgsCount(L, 4);
            SceneMgr obj  = (SceneMgr)ToLua.CheckObject(L, 1, typeof(SceneMgr));
            string   arg0 = ToLua.CheckString(L, 2);
            SceneMgr.LoadSceneDoneCallback arg1 = null;
            LuaTypes funcType3 = LuaDLL.lua_type(L, 3);

            if (funcType3 != LuaTypes.LUA_TFUNCTION)
            {
                arg1 = (SceneMgr.LoadSceneDoneCallback)ToLua.CheckObject(L, 3, typeof(SceneMgr.LoadSceneDoneCallback));
            }
            else
            {
                LuaFunction func = ToLua.ToLuaFunction(L, 3);
                arg1 = DelegateFactory.CreateDelegate(typeof(SceneMgr.LoadSceneDoneCallback), func) as SceneMgr.LoadSceneDoneCallback;
            }

            SceneMgr.LoadSceneUpdateProgressCallback arg2 = null;
            LuaTypes funcType4 = LuaDLL.lua_type(L, 4);

            if (funcType4 != LuaTypes.LUA_TFUNCTION)
            {
                arg2 = (SceneMgr.LoadSceneUpdateProgressCallback)ToLua.CheckObject(L, 4, typeof(SceneMgr.LoadSceneUpdateProgressCallback));
            }
            else
            {
                LuaFunction func = ToLua.ToLuaFunction(L, 4);
                arg2 = DelegateFactory.CreateDelegate(typeof(SceneMgr.LoadSceneUpdateProgressCallback), func) as SceneMgr.LoadSceneUpdateProgressCallback;
            }

            obj.LoadScene(arg0, arg1, arg2);
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
コード例 #2
0
    public static Delegate SceneMgr_LoadSceneUpdateProgressCallback(LuaFunction func, LuaTable self, bool flag)
    {
        if (func == null)
        {
            SceneMgr.LoadSceneUpdateProgressCallback fn = delegate(string param0, float param1) { };
            return(fn);
        }

        if (!flag)
        {
            SceneMgr_LoadSceneUpdateProgressCallback_Event target = new SceneMgr_LoadSceneUpdateProgressCallback_Event(func);
            SceneMgr.LoadSceneUpdateProgressCallback       d      = target.Call;
            target.method = d.Method;
            return(d);
        }
        else
        {
            SceneMgr_LoadSceneUpdateProgressCallback_Event target = new SceneMgr_LoadSceneUpdateProgressCallback_Event(func, self);
            SceneMgr.LoadSceneUpdateProgressCallback       d      = target.CallWithSelf;
            target.method = d.Method;
            return(d);
        }
    }
        static internal int checkDelegate(IntPtr l, int p, out SceneMgr.LoadSceneUpdateProgressCallback ua)
        {
            int op = extractFunction(l, p);

            if (LuaDLL.lua_isnil(l, p))
            {
                ua = null;
                return(op);
            }
            else if (LuaDLL.lua_isuserdata(l, p) == 1)
            {
                ua = (SceneMgr.LoadSceneUpdateProgressCallback)checkObj(l, p);
                return(op);
            }
            LuaDelegate ld;

            checkType(l, -1, out ld);
            if (ld.d != null)
            {
                ua = (SceneMgr.LoadSceneUpdateProgressCallback)ld.d;
                return(op);
            }
            LuaDLL.lua_pop(l, 1);

            l  = LuaState.get(l).L;
            ua = (string a1, float a2) =>
            {
                int error = pushTry(l);

                pushValue(l, a1);
                pushValue(l, a2);
                ld.pcall(2, error);
                LuaDLL.lua_settop(l, error - 1);
            };
            ld.d = ua;
            return(op);
        }