Esempio n. 1
0
        static int _m_Assert_xlua_st_(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



            int __gen_param_count = LuaAPI.lua_gettop(L);

            try {
                if (__gen_param_count == 1 && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 1))
                {
                    bool condition = LuaAPI.lua_toboolean(L, 1);

                    UnityEngine.Debug.Assert(condition);



                    return(0);
                }
                if (__gen_param_count == 2 && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 1) && translator.Assignable <UnityEngine.Object>(L, 2))
                {
                    bool condition             = LuaAPI.lua_toboolean(L, 1);
                    UnityEngine.Object context = (UnityEngine.Object)translator.GetObject(L, 2, typeof(UnityEngine.Object));

                    UnityEngine.Debug.Assert(condition, context);



                    return(0);
                }
                if (__gen_param_count == 2 && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 1) && translator.Assignable <object>(L, 2))
                {
                    bool   condition = LuaAPI.lua_toboolean(L, 1);
                    object message   = translator.GetObject(L, 2, typeof(object));

                    UnityEngine.Debug.Assert(condition, message);



                    return(0);
                }
                if (__gen_param_count == 2 && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 1) && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    bool   condition = LuaAPI.lua_toboolean(L, 1);
                    string message   = LuaAPI.lua_tostring(L, 2);

                    UnityEngine.Debug.Assert(condition, message);



                    return(0);
                }
                if (__gen_param_count == 3 && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 1) && translator.Assignable <object>(L, 2) && translator.Assignable <UnityEngine.Object>(L, 3))
                {
                    bool               condition = LuaAPI.lua_toboolean(L, 1);
                    object             message   = translator.GetObject(L, 2, typeof(object));
                    UnityEngine.Object context   = (UnityEngine.Object)translator.GetObject(L, 3, typeof(UnityEngine.Object));

                    UnityEngine.Debug.Assert(condition, message, context);



                    return(0);
                }
                if (__gen_param_count == 3 && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 1) && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.Object>(L, 3))
                {
                    bool               condition = LuaAPI.lua_toboolean(L, 1);
                    string             message   = LuaAPI.lua_tostring(L, 2);
                    UnityEngine.Object context   = (UnityEngine.Object)translator.GetObject(L, 3, typeof(UnityEngine.Object));

                    UnityEngine.Debug.Assert(condition, message, context);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.Debug.Assert!"));
        }
        static int _m_UnloadSceneAsync_xlua_st_(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 1 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1))
                {
                    int _sceneBuildIndex = LuaAPI.xlua_tointeger(L, 1);

                    var gen_ret = UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync(_sceneBuildIndex);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 1 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING))
                {
                    string _sceneName = LuaAPI.lua_tostring(L, 1);

                    var gen_ret = UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync(_sceneName);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 1 && translator.Assignable <UnityEngine.SceneManagement.Scene>(L, 1))
                {
                    UnityEngine.SceneManagement.Scene _scene; translator.Get(L, 1, out _scene);

                    var gen_ret = UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync(_scene);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1) && translator.Assignable <UnityEngine.SceneManagement.UnloadSceneOptions>(L, 2))
                {
                    int _sceneBuildIndex = LuaAPI.xlua_tointeger(L, 1);
                    UnityEngine.SceneManagement.UnloadSceneOptions _options; translator.Get(L, 2, out _options);

                    var gen_ret = UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync(_sceneBuildIndex, _options);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.SceneManagement.UnloadSceneOptions>(L, 2))
                {
                    string _sceneName = LuaAPI.lua_tostring(L, 1);
                    UnityEngine.SceneManagement.UnloadSceneOptions _options; translator.Get(L, 2, out _options);

                    var gen_ret = UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync(_sceneName, _options);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 2 && translator.Assignable <UnityEngine.SceneManagement.Scene>(L, 1) && translator.Assignable <UnityEngine.SceneManagement.UnloadSceneOptions>(L, 2))
                {
                    UnityEngine.SceneManagement.Scene _scene; translator.Get(L, 1, out _scene);
                    UnityEngine.SceneManagement.UnloadSceneOptions _options; translator.Get(L, 2, out _options);

                    var gen_ret = UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync(_scene, _options);
                    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.SceneManagement.SceneManager.UnloadSceneAsync!"));
        }
Esempio n. 3
0
        int getTypeId(RealStatePtr L, Type type, out bool is_first, LOGLEVEL log_level = LOGLEVEL.WARN)
        {
            int type_id;

            is_first = false;
            if (!typeIdMap.TryGetValue(type, out type_id)) // no reference
            {
                if (type.IsArray)
                {
                    if (common_array_meta == -1)
                    {
                        throw new Exception("Fatal Exception! Array Metatable not inited!");
                    }
                    return(common_array_meta);
                }
                if (typeof(MulticastDelegate).IsAssignableFrom(type))
                {
                    if (common_delegate_meta == -1)
                    {
                        throw new Exception("Fatal Exception! Delegate Metatable not inited!");
                    }
                    return(common_delegate_meta);
                }

                is_first = true;
                Type alias_type = null;
                aliasCfg.TryGetValue(type, out alias_type);
                LuaAPI.luaL_getmetatable(L, alias_type == null ? type.FullName : alias_type.FullName);

                if (LuaAPI.lua_isnil(L, -1)) //no meta yet, try to use reflection meta
                {
                    LuaAPI.lua_pop(L, 1);

                    if (TryDelayWrapLoader(L, alias_type == null ? type : alias_type))
                    {
                        LuaAPI.luaL_getmetatable(L, alias_type == null ? type.FullName : alias_type.FullName);
                    }
                    else
                    {
                        throw new Exception("Fatal: can not load metatable of type:" + type);
                    }
                }

                //循环依赖,自身依赖自己的class,比如有个自身类型的静态readonly对象。
                if (typeIdMap.TryGetValue(type, out type_id))
                {
                    LuaAPI.lua_pop(L, 1);
                }
                else
                {
                    LuaAPI.lua_pushvalue(L, -1);
                    type_id = LuaAPI.luaL_ref(L, LuaIndexes.LUA_REGISTRYINDEX);
                    LuaAPI.lua_pushnumber(L, type_id);
                    LuaAPI.xlua_rawseti(L, -2, 1);
                    LuaAPI.lua_pop(L, 1);

                    if (type.IsValueType)
                    {
                        typeMap.Add(type_id, type);
                    }

                    typeIdMap.Add(type, type_id);
                }
            }
            return(type_id);
        }
Esempio n. 4
0
        static int _m_JumpScene(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                QP.Framework.Module gen_to_be_invoked = (QP.Framework.Module)translator.FastGetCSObj(L, 1);


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 5 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 4) && (LuaAPI.lua_isnil(L, 5) || LuaAPI.lua_type(L, 5) == LuaTypes.LUA_TSTRING))
                {
                    string _sceneName = LuaAPI.lua_tostring(L, 2);
                    bool   _isAsync   = LuaAPI.lua_toboolean(L, 3);
                    bool   _isUnloadOtherAssetBundle = LuaAPI.lua_toboolean(L, 4);
                    string _tableName = LuaAPI.lua_tostring(L, 5);

                    gen_to_be_invoked.JumpScene(_sceneName, _isAsync, _isUnloadOtherAssetBundle, _tableName);



                    return(0);
                }
                if (gen_param_count == 5 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 4) && translator.Assignable <QP.Framework.SceneTable>(L, 5))
                {
                    string _sceneName = LuaAPI.lua_tostring(L, 2);
                    bool   _isAsync   = LuaAPI.lua_toboolean(L, 3);
                    bool   _isUnloadOtherAssetBundle = LuaAPI.lua_toboolean(L, 4);
                    QP.Framework.SceneTable _table   = (QP.Framework.SceneTable)translator.GetObject(L, 5, typeof(QP.Framework.SceneTable));

                    gen_to_be_invoked.JumpScene(_sceneName, _isAsync, _isUnloadOtherAssetBundle, _table);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to QP.Framework.Module.JumpScene!"));
        }
        static int _m_BroadcastMessage(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


            UnityEngine.GameObject __cl_gen_to_be_invoked = (UnityEngine.GameObject)translator.FastGetCSObj(L, 1);


            int __gen_param_count = LuaAPI.lua_gettop(L);

            try {
                if (__gen_param_count == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    string methodName = LuaAPI.lua_tostring(L, 2);

                    __cl_gen_to_be_invoked.BroadcastMessage(methodName);



                    return(0);
                }
                if (__gen_param_count == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <object>(L, 3))
                {
                    string methodName = LuaAPI.lua_tostring(L, 2);
                    object parameter  = translator.GetObject(L, 3, typeof(object));

                    __cl_gen_to_be_invoked.BroadcastMessage(methodName, parameter);



                    return(0);
                }
                if (__gen_param_count == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.SendMessageOptions>(L, 3))
                {
                    string methodName = LuaAPI.lua_tostring(L, 2);
                    UnityEngine.SendMessageOptions options; translator.Get(L, 3, out options);

                    __cl_gen_to_be_invoked.BroadcastMessage(methodName, options);



                    return(0);
                }
                if (__gen_param_count == 4 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <object>(L, 3) && translator.Assignable <UnityEngine.SendMessageOptions>(L, 4))
                {
                    string methodName = LuaAPI.lua_tostring(L, 2);
                    object parameter  = translator.GetObject(L, 3, typeof(object));
                    UnityEngine.SendMessageOptions options; translator.Get(L, 4, out options);

                    __cl_gen_to_be_invoked.BroadcastMessage(methodName, parameter, options);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.GameObject.BroadcastMessage!"));
        }
        static int _m_SendMessage(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


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


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    string _methodName = LuaAPI.lua_tostring(L, 2);

                    gen_to_be_invoked.SendMessage(_methodName);



                    return(0);
                }
                if (gen_param_count == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <object>(L, 3))
                {
                    string _methodName = LuaAPI.lua_tostring(L, 2);
                    object _value      = translator.GetObject(L, 3, typeof(object));

                    gen_to_be_invoked.SendMessage(_methodName, _value);



                    return(0);
                }
                if (gen_param_count == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.SendMessageOptions>(L, 3))
                {
                    string _methodName = LuaAPI.lua_tostring(L, 2);
                    UnityEngine.SendMessageOptions _options; translator.Get(L, 3, out _options);

                    gen_to_be_invoked.SendMessage(_methodName, _options);



                    return(0);
                }
                if (gen_param_count == 4 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <object>(L, 3) && translator.Assignable <UnityEngine.SendMessageOptions>(L, 4))
                {
                    string _methodName = LuaAPI.lua_tostring(L, 2);
                    object _value      = translator.GetObject(L, 3, typeof(object));
                    UnityEngine.SendMessageOptions _options; translator.Get(L, 4, out _options);

                    gen_to_be_invoked.SendMessage(_methodName, _value, _options);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.Component.SendMessage!"));
        }
        static int _m_CrossFadeQueued(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


            UnityEngine.Animation __cl_gen_to_be_invoked = (UnityEngine.Animation)translator.FastGetCSObj(L, 1);


            int __gen_param_count = LuaAPI.lua_gettop(L);

            try {
                if (__gen_param_count == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    string animation = LuaAPI.lua_tostring(L, 2);

                    UnityEngine.AnimationState __cl_gen_ret = __cl_gen_to_be_invoked.CrossFadeQueued(animation);
                    translator.Push(L, __cl_gen_ret);



                    return(1);
                }
                if (__gen_param_count == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3))
                {
                    string animation  = LuaAPI.lua_tostring(L, 2);
                    float  fadeLength = (float)LuaAPI.lua_tonumber(L, 3);

                    UnityEngine.AnimationState __cl_gen_ret = __cl_gen_to_be_invoked.CrossFadeQueued(animation, fadeLength);
                    translator.Push(L, __cl_gen_ret);



                    return(1);
                }
                if (__gen_param_count == 4 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && translator.Assignable <UnityEngine.QueueMode>(L, 4))
                {
                    string animation  = LuaAPI.lua_tostring(L, 2);
                    float  fadeLength = (float)LuaAPI.lua_tonumber(L, 3);
                    UnityEngine.QueueMode queue; translator.Get(L, 4, out queue);

                    UnityEngine.AnimationState __cl_gen_ret = __cl_gen_to_be_invoked.CrossFadeQueued(animation, fadeLength, queue);
                    translator.Push(L, __cl_gen_ret);



                    return(1);
                }
                if (__gen_param_count == 5 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && translator.Assignable <UnityEngine.QueueMode>(L, 4) && translator.Assignable <UnityEngine.PlayMode>(L, 5))
                {
                    string animation  = LuaAPI.lua_tostring(L, 2);
                    float  fadeLength = (float)LuaAPI.lua_tonumber(L, 3);
                    UnityEngine.QueueMode queue; translator.Get(L, 4, out queue);
                    UnityEngine.PlayMode  mode; translator.Get(L, 5, out mode);

                    UnityEngine.AnimationState __cl_gen_ret = __cl_gen_to_be_invoked.CrossFadeQueued(animation, fadeLength, queue, mode);
                    translator.Push(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 UnityEngine.Animation.CrossFadeQueued!"));
        }
        static int _m_Create_xlua_st_(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



            int __gen_param_count = LuaAPI.lua_gettop(L);

            try {
                if (__gen_param_count == 5 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 4) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 5))
                {
                    string name          = LuaAPI.lua_tostring(L, 1);
                    int    lengthSamples = LuaAPI.xlua_tointeger(L, 2);
                    int    channels      = LuaAPI.xlua_tointeger(L, 3);
                    int    frequency     = LuaAPI.xlua_tointeger(L, 4);
                    bool   stream        = LuaAPI.lua_toboolean(L, 5);

                    UnityEngine.AudioClip __cl_gen_ret = UnityEngine.AudioClip.Create(name, lengthSamples, channels, frequency, stream);
                    translator.Push(L, __cl_gen_ret);



                    return(1);
                }
                if (__gen_param_count == 6 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 4) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 5) && translator.Assignable <UnityEngine.AudioClip.PCMReaderCallback>(L, 6))
                {
                    string name          = LuaAPI.lua_tostring(L, 1);
                    int    lengthSamples = LuaAPI.xlua_tointeger(L, 2);
                    int    channels      = LuaAPI.xlua_tointeger(L, 3);
                    int    frequency     = LuaAPI.xlua_tointeger(L, 4);
                    bool   stream        = LuaAPI.lua_toboolean(L, 5);
                    UnityEngine.AudioClip.PCMReaderCallback pcmreadercallback = translator.GetDelegate <UnityEngine.AudioClip.PCMReaderCallback>(L, 6);

                    UnityEngine.AudioClip __cl_gen_ret = UnityEngine.AudioClip.Create(name, lengthSamples, channels, frequency, stream, pcmreadercallback);
                    translator.Push(L, __cl_gen_ret);



                    return(1);
                }
                if (__gen_param_count == 7 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 4) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 5) && translator.Assignable <UnityEngine.AudioClip.PCMReaderCallback>(L, 6) && translator.Assignable <UnityEngine.AudioClip.PCMSetPositionCallback>(L, 7))
                {
                    string name          = LuaAPI.lua_tostring(L, 1);
                    int    lengthSamples = LuaAPI.xlua_tointeger(L, 2);
                    int    channels      = LuaAPI.xlua_tointeger(L, 3);
                    int    frequency     = LuaAPI.xlua_tointeger(L, 4);
                    bool   stream        = LuaAPI.lua_toboolean(L, 5);
                    UnityEngine.AudioClip.PCMReaderCallback      pcmreadercallback      = translator.GetDelegate <UnityEngine.AudioClip.PCMReaderCallback>(L, 6);
                    UnityEngine.AudioClip.PCMSetPositionCallback pcmsetpositioncallback = translator.GetDelegate <UnityEngine.AudioClip.PCMSetPositionCallback>(L, 7);

                    UnityEngine.AudioClip __cl_gen_ret = UnityEngine.AudioClip.Create(name, lengthSamples, channels, frequency, stream, pcmreadercallback, pcmsetpositioncallback);
                    translator.Push(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 UnityEngine.AudioClip.Create!"));
        }
Esempio n. 9
0
        static int _m_AddCommand(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


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


            int __gen_param_count = LuaAPI.lua_gettop(L);

            try {
                if (__gen_param_count == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.Events.UnityAction>(L, 3))
                {
                    string cmd = LuaAPI.lua_tostring(L, 2);
                    UnityEngine.Events.UnityAction onCmd = translator.GetDelegate <UnityEngine.Events.UnityAction>(L, 3);

                    __cl_gen_to_be_invoked.AddCommand(cmd, onCmd);



                    return(0);
                }
                if (__gen_param_count == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))
                {
                    string label = LuaAPI.lua_tostring(L, 2);
                    string cmd   = LuaAPI.lua_tostring(L, 3);

                    __cl_gen_to_be_invoked.AddCommand(label, cmd);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to Logic.AddCommand!"));
        }
Esempio n. 10
0
        static int _m_Log(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


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


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 2 && translator.Assignable <object>(L, 2))
                {
                    object _message = translator.GetObject(L, 2, typeof(object));

                    gen_to_be_invoked.Log(_message);



                    return(0);
                }
                if (gen_param_count == 3 && translator.Assignable <UnityEngine.LogType>(L, 2) && translator.Assignable <object>(L, 3))
                {
                    UnityEngine.LogType _logType; translator.Get(L, 2, out _logType);
                    object _message = translator.GetObject(L, 3, typeof(object));

                    gen_to_be_invoked.Log(_logType, _message);



                    return(0);
                }
                if (gen_param_count == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <object>(L, 3))
                {
                    string _tag     = LuaAPI.lua_tostring(L, 2);
                    object _message = translator.GetObject(L, 3, typeof(object));

                    gen_to_be_invoked.Log(_tag, _message);



                    return(0);
                }
                if (gen_param_count == 4 && translator.Assignable <UnityEngine.LogType>(L, 2) && translator.Assignable <object>(L, 3) && translator.Assignable <UnityEngine.Object>(L, 4))
                {
                    UnityEngine.LogType _logType; translator.Get(L, 2, out _logType);
                    object             _message = translator.GetObject(L, 3, typeof(object));
                    UnityEngine.Object _context = (UnityEngine.Object)translator.GetObject(L, 4, typeof(UnityEngine.Object));

                    gen_to_be_invoked.Log(_logType, _message, _context);



                    return(0);
                }
                if (gen_param_count == 4 && translator.Assignable <UnityEngine.LogType>(L, 2) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING) && translator.Assignable <object>(L, 4))
                {
                    UnityEngine.LogType _logType; translator.Get(L, 2, out _logType);
                    string _tag     = LuaAPI.lua_tostring(L, 3);
                    object _message = translator.GetObject(L, 4, typeof(object));

                    gen_to_be_invoked.Log(_logType, _tag, _message);



                    return(0);
                }
                if (gen_param_count == 4 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <object>(L, 3) && translator.Assignable <UnityEngine.Object>(L, 4))
                {
                    string             _tag     = LuaAPI.lua_tostring(L, 2);
                    object             _message = translator.GetObject(L, 3, typeof(object));
                    UnityEngine.Object _context = (UnityEngine.Object)translator.GetObject(L, 4, typeof(UnityEngine.Object));

                    gen_to_be_invoked.Log(_tag, _message, _context);



                    return(0);
                }
                if (gen_param_count == 5 && translator.Assignable <UnityEngine.LogType>(L, 2) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING) && translator.Assignable <object>(L, 4) && translator.Assignable <UnityEngine.Object>(L, 5))
                {
                    UnityEngine.LogType _logType; translator.Get(L, 2, out _logType);
                    string             _tag     = LuaAPI.lua_tostring(L, 3);
                    object             _message = translator.GetObject(L, 4, typeof(object));
                    UnityEngine.Object _context = (UnityEngine.Object)translator.GetObject(L, 5, typeof(UnityEngine.Object));

                    gen_to_be_invoked.Log(_logType, _tag, _message, _context);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.Logger.Log!"));
        }
Esempio n. 11
0
        static int _m_LogFormat(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


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


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count >= 3 && translator.Assignable <UnityEngine.LogType>(L, 2) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING) && (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 4) || translator.Assignable <object>(L, 4)))
                {
                    UnityEngine.LogType _logType; translator.Get(L, 2, out _logType);
                    string   _format = LuaAPI.lua_tostring(L, 3);
                    object[] _args   = translator.GetParams <object>(L, 4);

                    gen_to_be_invoked.LogFormat(_logType, _format, _args);



                    return(0);
                }
                if (gen_param_count >= 4 && translator.Assignable <UnityEngine.LogType>(L, 2) && translator.Assignable <UnityEngine.Object>(L, 3) && (LuaAPI.lua_isnil(L, 4) || LuaAPI.lua_type(L, 4) == LuaTypes.LUA_TSTRING) && (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 5) || translator.Assignable <object>(L, 5)))
                {
                    UnityEngine.LogType _logType; translator.Get(L, 2, out _logType);
                    UnityEngine.Object  _context = (UnityEngine.Object)translator.GetObject(L, 3, typeof(UnityEngine.Object));
                    string   _format             = LuaAPI.lua_tostring(L, 4);
                    object[] _args = translator.GetParams <object>(L, 5);

                    gen_to_be_invoked.LogFormat(_logType, _context, _format, _args);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.Logger.LogFormat!"));
        }
        static int _m_AddAssetbundleAssetsCache(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                AssetBundles.AssetBundleManager gen_to_be_invoked = (AssetBundles.AssetBundleManager)translator.FastGetCSObj(L, 1);


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))
                {
                    string _assetbundleName = LuaAPI.lua_tostring(L, 2);
                    string _postfix         = LuaAPI.lua_tostring(L, 3);

                    gen_to_be_invoked.AddAssetbundleAssetsCache(_assetbundleName, _postfix);



                    return(0);
                }
                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    string _assetbundleName = LuaAPI.lua_tostring(L, 2);

                    gen_to_be_invoked.AddAssetbundleAssetsCache(_assetbundleName);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to AssetBundles.AssetBundleManager.AddAssetbundleAssetsCache!"));
        }
Esempio n. 13
0
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if (LuaAPI.lua_gettop(L) == 2 && translator.Assignable <Microsoft.IO.RecyclableMemoryStreamManager>(L, 2))
                {
                    Microsoft.IO.RecyclableMemoryStreamManager _memoryManager = (Microsoft.IO.RecyclableMemoryStreamManager)translator.GetObject(L, 2, typeof(Microsoft.IO.RecyclableMemoryStreamManager));

                    Microsoft.IO.RecyclableMemoryStream gen_ret = new Microsoft.IO.RecyclableMemoryStream(_memoryManager);
                    translator.Push(L, gen_ret);

                    return(1);
                }
                if (LuaAPI.lua_gettop(L) == 3 && translator.Assignable <Microsoft.IO.RecyclableMemoryStreamManager>(L, 2) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))
                {
                    Microsoft.IO.RecyclableMemoryStreamManager _memoryManager = (Microsoft.IO.RecyclableMemoryStreamManager)translator.GetObject(L, 2, typeof(Microsoft.IO.RecyclableMemoryStreamManager));
                    string _tag = LuaAPI.lua_tostring(L, 3);

                    Microsoft.IO.RecyclableMemoryStream gen_ret = new Microsoft.IO.RecyclableMemoryStream(_memoryManager, _tag);
                    translator.Push(L, gen_ret);

                    return(1);
                }
                if (LuaAPI.lua_gettop(L) == 4 && translator.Assignable <Microsoft.IO.RecyclableMemoryStreamManager>(L, 2) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 4))
                {
                    Microsoft.IO.RecyclableMemoryStreamManager _memoryManager = (Microsoft.IO.RecyclableMemoryStreamManager)translator.GetObject(L, 2, typeof(Microsoft.IO.RecyclableMemoryStreamManager));
                    string _tag           = LuaAPI.lua_tostring(L, 3);
                    int    _requestedSize = LuaAPI.xlua_tointeger(L, 4);

                    Microsoft.IO.RecyclableMemoryStream gen_ret = new Microsoft.IO.RecyclableMemoryStream(_memoryManager, _tag, _requestedSize);
                    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 Microsoft.IO.RecyclableMemoryStream constructor!"));
        }
Esempio n. 14
0
        static int _m_LogAssertionFormat_xlua_st_(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



            int __gen_param_count = LuaAPI.lua_gettop(L);

            try {
                if (__gen_param_count >= 1 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 2) || translator.Assignable <object>(L, 2)))
                {
                    string   format = LuaAPI.lua_tostring(L, 1);
                    object[] args   = translator.GetParams <object>(L, 2);

                    UnityEngine.Debug.LogAssertionFormat(format, args);



                    return(0);
                }
                if (__gen_param_count >= 2 && translator.Assignable <UnityEngine.Object>(L, 1) && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 3) || translator.Assignable <object>(L, 3)))
                {
                    UnityEngine.Object context = (UnityEngine.Object)translator.GetObject(L, 1, typeof(UnityEngine.Object));
                    string             format  = LuaAPI.lua_tostring(L, 2);
                    object[]           args    = translator.GetParams <object>(L, 3);

                    UnityEngine.Debug.LogAssertionFormat(context, format, args);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.Debug.LogAssertionFormat!"));
        }
        static int _m_Write(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                System.IO.BinaryWriter gen_to_be_invoked = (System.IO.BinaryWriter)translator.FastGetCSObj(L, 1);


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 2 && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 2))
                {
                    bool _value = LuaAPI.lua_toboolean(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    byte _value = (byte)LuaAPI.xlua_tointeger(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    sbyte _value = (sbyte)LuaAPI.xlua_tointeger(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    char _ch = (char)LuaAPI.xlua_tointeger(L, 2);

                    gen_to_be_invoked.Write(_ch);



                    return(0);
                }
                if (gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    double _value = LuaAPI.lua_tonumber(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    short _value = (short)LuaAPI.xlua_tointeger(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    ushort _value = (ushort)LuaAPI.xlua_tointeger(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    int _value = LuaAPI.xlua_tointeger(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    uint _value = LuaAPI.xlua_touint(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && (LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2) || LuaAPI.lua_isint64(L, 2)))
                {
                    long _value = LuaAPI.lua_toint64(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && (LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2) || LuaAPI.lua_isuint64(L, 2)))
                {
                    ulong _value = LuaAPI.lua_touint64(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    float _value = (float)LuaAPI.lua_tonumber(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    byte[] _buffer = LuaAPI.lua_tobytes(L, 2);

                    gen_to_be_invoked.Write(_buffer);



                    return(0);
                }
                if (gen_param_count == 2 && translator.Assignable <char[]>(L, 2))
                {
                    char[] _chars = (char[])translator.GetObject(L, 2, typeof(char[]));

                    gen_to_be_invoked.Write(_chars);



                    return(0);
                }
                if (gen_param_count == 2 && (LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2) || translator.IsDecimal(L, 2)))
                {
                    decimal _value; translator.Get(L, 2, out _value);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    string _value = LuaAPI.lua_tostring(L, 2);

                    gen_to_be_invoked.Write(_value);



                    return(0);
                }
                if (gen_param_count == 4 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 4))
                {
                    byte[] _buffer = LuaAPI.lua_tobytes(L, 2);
                    int    _index  = LuaAPI.xlua_tointeger(L, 3);
                    int    _count  = LuaAPI.xlua_tointeger(L, 4);

                    gen_to_be_invoked.Write(_buffer, _index, _count);



                    return(0);
                }
                if (gen_param_count == 4 && translator.Assignable <char[]>(L, 2) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 4))
                {
                    char[] _chars = (char[])translator.GetObject(L, 2, typeof(char[]));
                    int    _index = LuaAPI.xlua_tointeger(L, 3);
                    int    _count = LuaAPI.xlua_tointeger(L, 4);

                    gen_to_be_invoked.Write(_chars, _index, _count);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to System.IO.BinaryWriter.Write!"));
        }
Esempio n. 16
0
        private ObjectCheck genChecker(Type type)
        {
            ObjectCheck fixTypeCheck = (RealStatePtr L, int idx) =>
            {
                if (LuaAPI.lua_type(L, idx) == LuaTypes.LUA_TUSERDATA)
                {
                    object obj = translator.SafeGetCSObj(L, idx);
                    if (obj != null)
                    {
                        return(type.IsAssignableFrom(obj.GetType()));
                    }
                    else
                    {
                        Type type_of_obj = translator.GetTypeOf(L, idx);
                        if (type_of_obj != null)
                        {
                            return(type.IsAssignableFrom(type_of_obj));
                        }
                    }
                }
                return(false);
            };

            if (!type.IsAbstract() && typeof(Delegate).IsAssignableFrom(type))
            {
                return((RealStatePtr L, int idx) =>
                {
                    return LuaAPI.lua_isnil(L, idx) || LuaAPI.lua_isfunction(L, idx) || fixTypeCheck(L, idx);
                });
            }
            else if (type.IsEnum())
            {
                return(fixTypeCheck);
            }
            else if (type.IsInterface())
            {
                return((RealStatePtr L, int idx) =>
                {
                    return LuaAPI.lua_isnil(L, idx) || LuaAPI.lua_istable(L, idx) || fixTypeCheck(L, idx);
                });
            }
            else
            {
                if ((type.IsClass() && type.GetConstructor(System.Type.EmptyTypes) != null)) //class has default construtor
                {
                    return((RealStatePtr L, int idx) =>
                    {
                        return LuaAPI.lua_isnil(L, idx) || LuaAPI.lua_istable(L, idx) || fixTypeCheck(L, idx);
                    });
                }
                else if (type.IsValueType())
                {
                    return((RealStatePtr L, int idx) =>
                    {
                        return LuaAPI.lua_istable(L, idx) || fixTypeCheck(L, idx);
                    });
                }
                else if (type.IsArray)
                {
                    return((RealStatePtr L, int idx) =>
                    {
                        return LuaAPI.lua_isnil(L, idx) || LuaAPI.lua_istable(L, idx) || fixTypeCheck(L, idx);
                    });
                }
                else
                {
                    return((RealStatePtr L, int idx) =>
                    {
                        return LuaAPI.lua_isnil(L, idx) || fixTypeCheck(L, idx);
                    });
                }
            }
        }
Esempio n. 17
0
        static int _m_CreateCallbackDelegate_xlua_st_(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count >= 2 && translator.Assignable <System.Type>(L, 1) && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 3) || translator.Assignable <System.Type>(L, 3)))
                {
                    System.Type   _type       = (System.Type)translator.GetObject(L, 1, typeof(System.Type));
                    string        _methodName = LuaAPI.lua_tostring(L, 2);
                    System.Type[] _paramTypes = translator.GetParams <System.Type>(L, 3);

                    System.Delegate gen_ret = XLuaHelper.CreateCallbackDelegate(_type, _methodName, _paramTypes);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count >= 2 && translator.Assignable <object>(L, 1) && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 3) || translator.Assignable <System.Type>(L, 3)))
                {
                    object        _target     = translator.GetObject(L, 1, typeof(object));
                    string        _methodName = LuaAPI.lua_tostring(L, 2);
                    System.Type[] _paramTypes = translator.GetParams <System.Type>(L, 3);

                    System.Delegate gen_ret = XLuaHelper.CreateCallbackDelegate(_target, _methodName, _paramTypes);
                    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 XLuaHelper.CreateCallbackDelegate!"));
        }
Esempio n. 18
0
        private ObjectCast genCaster(Type type)
        {
            ObjectCast fixTypeGetter = (RealStatePtr L, int idx, object target) =>
            {
                if (LuaAPI.lua_type(L, idx) == LuaTypes.LUA_TUSERDATA)
                {
                    object obj = translator.SafeGetCSObj(L, idx);
                    return((obj != null && type.IsAssignableFrom(obj.GetType())) ? obj : null);
                }
                return(null);
            };

            if (typeof(Delegate).IsAssignableFrom(type))
            {
                return((RealStatePtr L, int idx, object target) =>
                {
                    object obj = fixTypeGetter(L, idx, target);
                    if (obj != null)
                    {
                        return obj;
                    }

                    if (!LuaAPI.lua_isfunction(L, idx))
                    {
                        return null;
                    }

                    return translator.CreateDelegateBridge(L, type, idx);
                });
            }
            else if (typeof(DelegateBridgeBase).IsAssignableFrom(type))
            {
                return((RealStatePtr L, int idx, object target) =>
                {
                    object obj = fixTypeGetter(L, idx, target);
                    if (obj != null)
                    {
                        return obj;
                    }

                    if (!LuaAPI.lua_isfunction(L, idx))
                    {
                        return null;
                    }

                    return translator.CreateDelegateBridge(L, null, idx);
                });
            }
            else if (type.IsInterface())
            {
                return((RealStatePtr L, int idx, object target) =>
                {
                    object obj = fixTypeGetter(L, idx, target);
                    if (obj != null)
                    {
                        return obj;
                    }

                    if (!LuaAPI.lua_istable(L, idx))
                    {
                        return null;
                    }
                    return translator.CreateInterfaceBridge(L, type, idx);
                });
            }
            else if (type.IsEnum())
            {
                return((RealStatePtr L, int idx, object target) =>
                {
                    object obj = fixTypeGetter(L, idx, target);
                    if (obj != null)
                    {
                        return obj;
                    }

                    LuaTypes lua_type = LuaAPI.lua_type(L, idx);
                    if (lua_type == LuaTypes.LUA_TSTRING)
                    {
                        return Enum.Parse(type, LuaAPI.lua_tostring(L, idx));
                    }
                    else if (lua_type == LuaTypes.LUA_TNUMBER)
                    {
                        return Enum.ToObject(type, LuaAPI.xlua_tointeger(L, idx));
                    }
                    throw new InvalidCastException("invalid value for enum " + type);
                });
            }
            else if (type.IsArray)
            {
                return((RealStatePtr L, int idx, object target) =>
                {
                    object obj = fixTypeGetter(L, idx, target);
                    if (obj != null)
                    {
                        return obj;
                    }

                    if (!LuaAPI.lua_istable(L, idx))
                    {
                        return null;
                    }

                    uint len = LuaAPI.xlua_objlen(L, idx);
                    int n = LuaAPI.lua_gettop(L);
                    idx = idx > 0 ? idx : LuaAPI.lua_gettop(L) + idx + 1;// abs of index
                    Type et = type.GetElementType();
                    ObjectCast elementCaster = GetCaster(et);
                    Array ary = target == null?Array.CreateInstance(et, (int)len) : target as Array;

                    if (!LuaAPI.lua_checkstack(L, 1))
                    {
                        throw new Exception("stack overflow while cast to Array");
                    }
                    for (int i = 0; i < len; ++i)
                    {
                        LuaAPI.lua_pushnumber(L, i + 1);
                        LuaAPI.lua_rawget(L, idx);
                        if (et.IsPrimitive())
                        {
                            if (!StaticLuaCallbacks.TryPrimitiveArraySet(type, L, ary, i, n + 1))
                            {
                                ary.SetValue(elementCaster(L, n + 1, null), i);
                            }
                        }
                        else
                        {
                            if (InternalGlobals.genTryArraySetPtr == null ||
                                !InternalGlobals.genTryArraySetPtr(type, L, translator, ary, i, n + 1))
                            {
                                ary.SetValue(elementCaster(L, n + 1, null), i);
                            }
                        }
                        LuaAPI.lua_pop(L, 1);
                    }
                    return ary;
                });
            }
            else if (typeof(IList).IsAssignableFrom(type) && type.IsGenericType())
            {
                Type       elementType   = type.GetGenericArguments()[0];
                ObjectCast elementCaster = GetCaster(elementType);

                return((RealStatePtr L, int idx, object target) =>
                {
                    object obj = fixTypeGetter(L, idx, target);
                    if (obj != null)
                    {
                        return obj;
                    }

                    if (!LuaAPI.lua_istable(L, idx))
                    {
                        return null;
                    }

                    obj = target == null?Activator.CreateInstance(type) : target;

                    int n = LuaAPI.lua_gettop(L);
                    idx = idx > 0 ? idx : LuaAPI.lua_gettop(L) + idx + 1;// abs of index
                    IList list = obj as IList;


                    uint len = LuaAPI.xlua_objlen(L, idx);
                    if (!LuaAPI.lua_checkstack(L, 1))
                    {
                        throw new Exception("stack overflow while cast to IList");
                    }
                    for (int i = 0; i < len; ++i)
                    {
                        LuaAPI.lua_pushnumber(L, i + 1);
                        LuaAPI.lua_rawget(L, idx);
                        if (i < list.Count && target != null)
                        {
                            if (translator.Assignable(L, n + 1, elementType))
                            {
                                list[i] = elementCaster(L, n + 1, list[i]);
                            }
                        }
                        else
                        {
                            if (translator.Assignable(L, n + 1, elementType))
                            {
                                list.Add(elementCaster(L, n + 1, null));
                            }
                        }
                        LuaAPI.lua_pop(L, 1);
                    }
                    return obj;
                });
            }
            else if (typeof(IDictionary).IsAssignableFrom(type) && type.IsGenericType())
            {
                Type       keyType     = type.GetGenericArguments()[0];
                ObjectCast keyCaster   = GetCaster(keyType);
                Type       valueType   = type.GetGenericArguments()[1];
                ObjectCast valueCaster = GetCaster(valueType);

                return((RealStatePtr L, int idx, object target) =>
                {
                    object obj = fixTypeGetter(L, idx, target);
                    if (obj != null)
                    {
                        return obj;
                    }

                    if (!LuaAPI.lua_istable(L, idx))
                    {
                        return null;
                    }

                    IDictionary dic = (target == null ? Activator.CreateInstance(type) : target) as IDictionary;
                    int n = LuaAPI.lua_gettop(L);
                    idx = idx > 0 ? idx : LuaAPI.lua_gettop(L) + idx + 1;// abs of index

                    LuaAPI.lua_pushnil(L);
                    if (!LuaAPI.lua_checkstack(L, 1))
                    {
                        throw new Exception("stack overflow while cast to IDictionary");
                    }
                    while (LuaAPI.lua_next(L, idx) != 0)
                    {
                        if (translator.Assignable(L, n + 1, keyType) && translator.Assignable(L, n + 2, valueType))
                        {
                            object k = keyCaster(L, n + 1, null);
                            dic[k] = valueCaster(L, n + 2, !dic.Contains(k) ? null : dic[k]);
                        }
                        LuaAPI.lua_pop(L, 1); // removes value, keeps key for next iteration
                    }
                    return dic;
                });
            }
            else if ((type.IsClass() && type.GetConstructor(System.Type.EmptyTypes) != null) || (type.IsValueType() && !type.IsEnum())) //class has default construtor
            {
                return((RealStatePtr L, int idx, object target) =>
                {
                    object obj = fixTypeGetter(L, idx, target);
                    if (obj != null)
                    {
                        return obj;
                    }

                    if (!LuaAPI.lua_istable(L, idx))
                    {
                        return null;
                    }

                    obj = target == null?Activator.CreateInstance(type) : target;

                    int n = LuaAPI.lua_gettop(L);
                    idx = idx > 0 ? idx : LuaAPI.lua_gettop(L) + idx + 1;// abs of index
                    if (!LuaAPI.lua_checkstack(L, 1))
                    {
                        throw new Exception("stack overflow while cast to " + type);
                    }

                    /*foreach (PropertyInfo prop in type.GetProperties())
                     * {
                     *  var _setMethod = prop.GetSetMethod();
                     *
                     *  if (_setMethod == null ||
                     *      _setMethod.IsPrivate)
                     *  {
                     *      continue;
                     *  }
                     *
                     *  LuaAPI.xlua_pushasciistring(L, prop.Name);
                     *  LuaAPI.lua_rawget(L, idx);
                     *  if (!LuaAPI.lua_isnil(L, -1))
                     *  {
                     *      try
                     *      {
                     *          prop.SetValue(obj, GetCaster(prop.PropertyType)(L, n + 1,
                     *              target == null || prop.PropertyType.IsPrimitive() || prop.PropertyType == typeof(string) ? null : prop.GetValue(obj, null)), null);
                     *      }
                     *      catch (Exception e)
                     *      {
                     *          throw new Exception("exception in tran " + prop.Name + ", msg=" + e.Message);
                     *      }
                     *  }
                     *  LuaAPI.lua_pop(L, 1);
                     * }*/
                    foreach (FieldInfo field in type.GetFields())
                    {
                        LuaAPI.xlua_pushasciistring(L, field.Name);
                        LuaAPI.lua_rawget(L, idx);
                        if (!LuaAPI.lua_isnil(L, -1))
                        {
                            try
                            {
                                field.SetValue(obj, GetCaster(field.FieldType)(L, n + 1,
                                                                               target == null || field.FieldType.IsPrimitive() || field.FieldType == typeof(string) ? null : field.GetValue(obj)));
                            }
                            catch (Exception e)
                            {
                                throw new Exception("exception in tran " + field.Name + ", msg=" + e.Message);
                            }
                        }
                        LuaAPI.lua_pop(L, 1);
                    }

                    return obj;
                });
            }
            else
            {
                return(fixTypeGetter);
            }
        }
Esempio n. 19
0
        static int _m_LoadPrefabGameObject(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                XLuaFramework.ResourceManager gen_to_be_invoked = (XLuaFramework.ResourceManager)translator.FastGetCSObj(L, 1);


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TFUNCTION))
                {
                    string           _file_path = LuaAPI.lua_tostring(L, 2);
                    XLua.LuaFunction _func      = (XLua.LuaFunction)translator.GetObject(L, 3, typeof(XLua.LuaFunction));

                    gen_to_be_invoked.LoadPrefabGameObject(_file_path, _func);



                    return(0);
                }
                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    string _file_path = LuaAPI.lua_tostring(L, 2);

                    gen_to_be_invoked.LoadPrefabGameObject(_file_path);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to XLuaFramework.ResourceManager.LoadPrefabGameObject!"));
        }
Esempio n. 20
0
 private bool luaTableCheck(RealStatePtr L, int idx)
 {
     return(LuaAPI.lua_isnil(L, idx) || LuaAPI.lua_istable(L, idx) || (LuaAPI.lua_type(L, idx) == LuaTypes.LUA_TUSERDATA && translator.SafeGetCSObj(L, idx) is LuaTable));
 }
        static int _m_AddClip(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


            UnityEngine.Animation __cl_gen_to_be_invoked = (UnityEngine.Animation)translator.FastGetCSObj(L, 1);


            int __gen_param_count = LuaAPI.lua_gettop(L);

            try {
                if (__gen_param_count == 3 && translator.Assignable <UnityEngine.AnimationClip>(L, 2) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))
                {
                    UnityEngine.AnimationClip clip = (UnityEngine.AnimationClip)translator.GetObject(L, 2, typeof(UnityEngine.AnimationClip));
                    string newName = LuaAPI.lua_tostring(L, 3);

                    __cl_gen_to_be_invoked.AddClip(clip, newName);



                    return(0);
                }
                if (__gen_param_count == 5 && translator.Assignable <UnityEngine.AnimationClip>(L, 2) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 4) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 5))
                {
                    UnityEngine.AnimationClip clip = (UnityEngine.AnimationClip)translator.GetObject(L, 2, typeof(UnityEngine.AnimationClip));
                    string newName    = LuaAPI.lua_tostring(L, 3);
                    int    firstFrame = LuaAPI.xlua_tointeger(L, 4);
                    int    lastFrame  = LuaAPI.xlua_tointeger(L, 5);

                    __cl_gen_to_be_invoked.AddClip(clip, newName, firstFrame, lastFrame);



                    return(0);
                }
                if (__gen_param_count == 6 && translator.Assignable <UnityEngine.AnimationClip>(L, 2) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 4) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 5) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 6))
                {
                    UnityEngine.AnimationClip clip = (UnityEngine.AnimationClip)translator.GetObject(L, 2, typeof(UnityEngine.AnimationClip));
                    string newName      = LuaAPI.lua_tostring(L, 3);
                    int    firstFrame   = LuaAPI.xlua_tointeger(L, 4);
                    int    lastFrame    = LuaAPI.xlua_tointeger(L, 5);
                    bool   addLoopFrame = LuaAPI.lua_toboolean(L, 6);

                    __cl_gen_to_be_invoked.AddClip(clip, newName, firstFrame, lastFrame, addLoopFrame);



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

            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.Animation.AddClip!"));
        }
Esempio n. 22
0
 private bool strCheck(RealStatePtr L, int idx)
 {
     return(LuaAPI.lua_type(L, idx) == LuaTypes.LUA_TSTRING || LuaAPI.lua_isnil(L, idx));
 }
        static int _m_LoadSceneAsync_xlua_st_(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



            int __gen_param_count = LuaAPI.lua_gettop(L);

            try {
                if (__gen_param_count == 1 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1))
                {
                    int sceneBuildIndex = LuaAPI.xlua_tointeger(L, 1);

                    UnityEngine.AsyncOperation __cl_gen_ret = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(sceneBuildIndex);
                    translator.Push(L, __cl_gen_ret);



                    return(1);
                }
                if (__gen_param_count == 1 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING))
                {
                    string sceneName = LuaAPI.lua_tostring(L, 1);

                    UnityEngine.AsyncOperation __cl_gen_ret = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(sceneName);
                    translator.Push(L, __cl_gen_ret);



                    return(1);
                }
                if (__gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1) && translator.Assignable <UnityEngine.SceneManagement.LoadSceneMode>(L, 2))
                {
                    int sceneBuildIndex = LuaAPI.xlua_tointeger(L, 1);
                    UnityEngine.SceneManagement.LoadSceneMode mode; translator.Get(L, 2, out mode);

                    UnityEngine.AsyncOperation __cl_gen_ret = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(sceneBuildIndex, mode);
                    translator.Push(L, __cl_gen_ret);



                    return(1);
                }
                if (__gen_param_count == 2 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.SceneManagement.LoadSceneMode>(L, 2))
                {
                    string sceneName = LuaAPI.lua_tostring(L, 1);
                    UnityEngine.SceneManagement.LoadSceneMode mode; translator.Get(L, 2, out mode);

                    UnityEngine.AsyncOperation __cl_gen_ret = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(sceneName, mode);
                    translator.Push(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 UnityEngine.SceneManagement.SceneManager.LoadSceneAsync!"));
        }
Esempio n. 24
0
 private bool bytesCheck(RealStatePtr L, int idx)
 {
     return(LuaAPI.lua_type(L, idx) == LuaTypes.LUA_TSTRING || LuaAPI.lua_isnil(L, idx) || (LuaAPI.lua_type(L, idx) == LuaTypes.LUA_TUSERDATA && translator.SafeGetCSObj(L, idx) is byte[]));
 }
Esempio n. 25
0
        static int __CreateInstance(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

            try {
                if (LuaAPI.lua_gettop(L) == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))
                {
                    string strName = LuaAPI.lua_tostring(L, 2);
                    string strPath = LuaAPI.lua_tostring(L, 3);

                    xc.DBDataAllSkill __cl_gen_ret = new xc.DBDataAllSkill(strName, strPath);
                    translator.Push(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 xc.DBDataAllSkill constructor!"));
        }
Esempio n. 26
0
        static int _m_DoString_xlua_st_(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 3 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TTABLE))
                {
                    string        _chunk     = LuaAPI.lua_tostring(L, 1);
                    string        _chunkName = LuaAPI.lua_tostring(L, 2);
                    XLua.LuaTable _env       = (XLua.LuaTable)translator.GetObject(L, 3, typeof(XLua.LuaTable));

                    object[] gen_ret = LuaSystem.DoString(_chunk, _chunkName, _env);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    string _chunk     = LuaAPI.lua_tostring(L, 1);
                    string _chunkName = LuaAPI.lua_tostring(L, 2);

                    object[] gen_ret = LuaSystem.DoString(_chunk, _chunkName);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 1 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING))
                {
                    string _chunk = LuaAPI.lua_tostring(L, 1);

                    object[] gen_ret = LuaSystem.DoString(_chunk);
                    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 LuaSystem.DoString!"));
        }
Esempio n. 27
0
        public Delegate CreateDelegateBridge(RealStatePtr L, Type delegateType, int idx)
        {
            LuaAPI.lua_pushvalue(L, idx);
            LuaAPI.lua_rawget(L, LuaIndexes.LUA_REGISTRYINDEX);
            if (!LuaAPI.lua_isnil(L, -1))
            {
                int referenced = LuaAPI.xlua_tointeger(L, -1);
                LuaAPI.lua_pop(L, 1);

                if (delegate_bridges[referenced].IsAlive)
                {
                    DelegateBridgeBase exist_bridge = delegate_bridges[referenced].Target as DelegateBridgeBase;
                    Delegate           exist_delegate;
                    if (exist_bridge.TryGetDelegate(delegateType, out exist_delegate))
                    {
                        return(exist_delegate);
                    }
                    else
                    {
                        exist_delegate = exist_bridge.GetDelegateByType(delegateType);
                        exist_bridge.AddDelegate(delegateType, exist_delegate);
                        return(exist_delegate);
                    }
                }
            }
            else
            {
                LuaAPI.lua_pop(L, 1);
            }

            LuaAPI.lua_pushvalue(L, idx);
            int reference = LuaAPI.luaL_ref(L);

            LuaAPI.lua_pushvalue(L, idx);
            LuaAPI.lua_pushnumber(L, reference);
            LuaAPI.lua_rawset(L, LuaIndexes.LUA_REGISTRYINDEX);
            DelegateBridgeBase bridge;

            try
            {
#if UNITY_EDITOR || XLUA_GENERAL
                if (!DelegateBridge.Gen_Flag)
                {
                    bridge = Activator.CreateInstance(delegate_birdge_type, new object[] { reference, luaEnv }) as DelegateBridgeBase;
                }
                else
#endif
                {
                    bridge = new DelegateBridge(reference, luaEnv);
                }
            }
            catch (Exception e)
            {
                LuaAPI.lua_pushvalue(L, idx);
                LuaAPI.lua_pushnil(L);
                LuaAPI.lua_rawset(L, LuaIndexes.LUA_REGISTRYINDEX);
                LuaAPI.lua_pushnil(L);
                LuaAPI.xlua_rawseti(L, LuaIndexes.LUA_REGISTRYINDEX, reference);
                throw e;
            }
            try {
                var ret = bridge.GetDelegateByType(delegateType);
                bridge.AddDelegate(delegateType, ret);
                delegate_bridges[reference] = new WeakReference(bridge);
                return(ret);
            }
            catch (Exception e)
            {
                bridge.Dispose();
                throw e;
            }
        }
Esempio n. 28
0
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if (LuaAPI.lua_gettop(L) == 3 && translator.Assignable <System.Type>(L, 2) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))
                {
                    System.Type _type       = (System.Type)translator.GetObject(L, 2, typeof(System.Type));
                    string      _methodName = LuaAPI.lua_tostring(L, 3);

                    DCETRuntime.MonoStaticMethod gen_ret = new DCETRuntime.MonoStaticMethod(_type, _methodName);
                    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 DCETRuntime.MonoStaticMethod constructor!"));
        }
        static int _m_GetString_xlua_st_(RealStatePtr L)
        {
            try {
                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 1 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING))
                {
                    string _key = LuaAPI.lua_tostring(L, 1);

                    var gen_ret = UnityEngine.PlayerPrefs.GetString(_key);
                    LuaAPI.lua_pushstring(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    string _key          = LuaAPI.lua_tostring(L, 1);
                    string _defaultValue = LuaAPI.lua_tostring(L, 2);

                    var gen_ret = UnityEngine.PlayerPrefs.GetString(_key, _defaultValue);
                    LuaAPI.lua_pushstring(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.PlayerPrefs.GetString!"));
        }
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if (LuaAPI.lua_gettop(L) == 3 && translator.Assignable <System.Collections.Generic.List <FairyGUI.Utils.XML> >(L, 2) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))
                {
                    System.Collections.Generic.List <FairyGUI.Utils.XML> _source = (System.Collections.Generic.List <FairyGUI.Utils.XML>)translator.GetObject(L, 2, typeof(System.Collections.Generic.List <FairyGUI.Utils.XML>));
                    string _selector = LuaAPI.lua_tostring(L, 3);

                    FairyGUI.Utils.XMLList.Enumerator gen_ret = new FairyGUI.Utils.XMLList.Enumerator(_source, _selector);
                    translator.Push(L, gen_ret);

                    return(1);
                }

                if (LuaAPI.lua_gettop(L) == 1)
                {
                    translator.Push(L, default(FairyGUI.Utils.XMLList.Enumerator));
                    return(1);
                }
            }
            catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(LuaAPI.luaL_error(L, "invalid arguments to FairyGUI.Utils.XMLList.Enumerator constructor!"));
        }