Esempio n. 1
0
        int UnityEngineDebug_m_LogAssertionFormat_xlua_st_(RealStatePtr L, int gen_param_count)
        {
            ObjectTranslator translator = this;


            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);
            }


            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.Debug.LogAssertionFormat!"));
        }
        int UnityEngineMathf_m_Max_xlua_st_(RealStatePtr L, int gen_param_count)
        {
            ObjectTranslator translator = this;


            if (gen_param_count == 2 && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
            {
                float _a = (float)LuaAPI.lua_tonumber(L, 1);
                float _b = (float)LuaAPI.lua_tonumber(L, 2);

                float gen_ret = UnityEngine.Mathf.Max(_a, _b);
                LuaAPI.lua_pushnumber(L, gen_ret);



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

                int gen_ret = UnityEngine.Mathf.Max(_a, _b);
                LuaAPI.xlua_pushinteger(L, gen_ret);



                return(1);
            }
            if (gen_param_count >= 0 && (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 1) || LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1)))
            {
                float[] _values = translator.GetParams <float>(L, 1);

                float gen_ret = UnityEngine.Mathf.Max(_values);
                LuaAPI.lua_pushnumber(L, gen_ret);



                return(1);
            }
            if (gen_param_count >= 0 && (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 1) || LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1)))
            {
                int[] _values = translator.GetParams <int>(L, 1);

                int gen_ret = UnityEngine.Mathf.Max(_values);
                LuaAPI.xlua_pushinteger(L, gen_ret);



                return(1);
            }


            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.Mathf.Max!"));
        }
Esempio n. 3
0
        int __CreateInstanceUnityEngineGameObject(RealStatePtr L, int gen_param_count)
        {
            ObjectTranslator translator = this;

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

                UnityEngine.GameObject gen_ret = new UnityEngine.GameObject(_name);
                translator.Push(L, gen_ret);

                return(1);
            }
            if (gen_param_count == 1)
            {
                UnityEngine.GameObject gen_ret = new UnityEngine.GameObject();
                translator.Push(L, gen_ret);

                return(1);
            }
            if (gen_param_count >= 2 && (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)))
            {
                string        _name       = LuaAPI.lua_tostring(L, 2);
                System.Type[] _components = translator.GetParams <System.Type>(L, 3);

                UnityEngine.GameObject gen_ret = new UnityEngine.GameObject(_name, _components);
                translator.Push(L, gen_ret);

                return(1);
            }


            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.GameObject constructor!"));
        }
        int UnityEngineLayerMask_m_GetMask_xlua_st_(RealStatePtr L, int gen_param_count)
        {
            ObjectTranslator translator = this;



            {
                string[] _layerNames = translator.GetParams <string>(L, 1);

                int gen_ret = UnityEngine.LayerMask.GetMask(_layerNames);
                LuaAPI.xlua_pushinteger(L, gen_ret);



                return(1);
            }
        }
        int __CreateInstanceUnityEngineAnimationCurve(RealStatePtr L, int gen_param_count)
        {
            ObjectTranslator translator = this;

            if (gen_param_count >= 1 && (LuaTypes.LUA_TNONE == LuaAPI.lua_type(L, 2) || translator.Assignable <UnityEngine.Keyframe>(L, 2)))
            {
                UnityEngine.Keyframe[] _keys = translator.GetParams <UnityEngine.Keyframe>(L, 2);

                UnityEngine.AnimationCurve gen_ret = new UnityEngine.AnimationCurve(_keys);
                translator.Push(L, gen_ret);

                return(1);
            }
            if (gen_param_count == 1)
            {
                UnityEngine.AnimationCurve gen_ret = new UnityEngine.AnimationCurve();
                translator.Push(L, gen_ret);

                return(1);
            }


            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.AnimationCurve constructor!"));
        }
        public int Call(RealStatePtr L)
        {
            try
            {
                object     target   = null;
                MethodBase toInvoke = method;

                if (luaStackPosStart > 1)
                {
                    target = translator.FastGetCSObj(L, 1);
                    if (target is Delegate)
                    {
                        Delegate delegateInvoke = (Delegate)target;
#if UNITY_WSA && !UNITY_EDITOR
                        toInvoke = delegateInvoke.GetMethodInfo();
#else
                        toInvoke = delegateInvoke.Method;
#endif
                    }
                }


                int luaTop      = LuaAPI.lua_gettop(L);
                int luaStackPos = luaStackPosStart;

                for (int i = 0; i < castArray.Length; i++)
                {
                    //UnityEngine.Debug.Log("inPos:" + inPosArray[i]);
                    if (luaStackPos > luaTop) //after check
                    {
                        if (paramsType != null && i == castArray.Length - 1)
                        {
                            args[inPosArray[i]] = Array.CreateInstance(paramsType, 0);
                        }
                        else
                        {
                            args[inPosArray[i]] = defaultValueArray[i];
                        }
                    }
                    else
                    {
                        if (paramsType != null && i == castArray.Length - 1)
                        {
                            args[inPosArray[i]] = translator.GetParams(L, luaStackPos, paramsType);
                        }
                        else
                        {
                            args[inPosArray[i]] = castArray[i](L, luaStackPos, null);
                        }
                        luaStackPos++;
                    }
                    //UnityEngine.Debug.Log("value:" + args[inPosArray[i]]);
                }

                object ret = null;


                ret = toInvoke.IsConstructor ? ((ConstructorInfo)method).Invoke(args) : method.Invoke(targetNeeded ? target : null, args);

                int nRet = 0;

                if (!isVoid)
                {
                    //UnityEngine.Debug.Log(toInvoke.ToString() + " ret:" + ret);
                    translator.PushAny(L, ret);
                    nRet++;
                }

                for (int i = 0; i < outPosArray.Length; i++)
                {
                    if (refPos[outPosArray[i]] != -1)
                    {
                        translator.Update(L, luaStackPosStart + refPos[outPosArray[i]], args[outPosArray[i]]);
                    }
                    translator.PushAny(L, args[outPosArray[i]]);
                    nRet++;
                }

                return(nRet);
            }
            finally
            {
                for (int i = 0; i < args.Length; i++)
                {
                    args[i] = null;
                }
            }
        }
        public int Call(RealStatePtr L)
        {
            try
            {
#if UNITY_EDITOR && !DISABLE_OBSOLETE_WARNING
                if (method.IsDefined(typeof(ObsoleteAttribute), true))
                {
                    ObsoleteAttribute info = Attribute.GetCustomAttribute(method, typeof(ObsoleteAttribute)) as ObsoleteAttribute;
                    UnityEngine.Debug.LogWarning("Obsolete Method [" + method.DeclaringType.ToString() + "." + method.Name + "]: " + info.Message);
                }
#endif
                object     target   = null;
                MethodBase toInvoke = method;

                if (luaStackPosStart > 1)
                {
                    target = translator.FastGetCSObj(L, 1);
                    if (target is Delegate)
                    {
                        Delegate delegateInvoke = (Delegate)target;
#if UNITY_WSA && !UNITY_EDITOR
                        toInvoke = delegateInvoke.GetMethodInfo();
#else
                        toInvoke = delegateInvoke.Method;
#endif
                    }
                }


                int luaTop      = LuaAPI.lua_gettop(L);
                int luaStackPos = luaStackPosStart;

                for (int i = 0; i < castArray.Length; i++)
                {
                    //UnityEngine.Debug.Log("inPos:" + inPosArray[i]);
                    if (luaStackPos > luaTop) //after check
                    {
                        if (paramsType != null && i == castArray.Length - 1)
                        {
                            args[inPosArray[i]] = Array.CreateInstance(paramsType, 0);
                        }
                        else
                        {
                            args[inPosArray[i]] = defaultValueArray[i];
                        }
                    }
                    else
                    {
                        if (paramsType != null && i == castArray.Length - 1)
                        {
                            args[inPosArray[i]] = translator.GetParams(L, luaStackPos, paramsType);
                        }
                        else
                        {
                            args[inPosArray[i]] = castArray[i](L, luaStackPos, null);
                        }
                        luaStackPos++;
                    }
                    //UnityEngine.Debug.Log("value:" + args[inPosArray[i]]);
                }

                object ret = null;


                ret = toInvoke.IsConstructor ? ((ConstructorInfo)method).Invoke(args) : method.Invoke(targetNeeded ? target : null, args);

                if (targetNeeded && targetType.IsValueType())
                {
                    translator.Update(L, 1, target);
                }

                int nRet = 0;

                if (!isVoid)
                {
                    //UnityEngine.Debug.Log(toInvoke.ToString() + " ret:" + ret);
                    translator.PushAny(L, ret);
                    nRet++;
                }

                for (int i = 0; i < outPosArray.Length; i++)
                {
                    if (refPos[outPosArray[i]] != -1)
                    {
                        translator.Update(L, luaStackPosStart + refPos[outPosArray[i]], args[outPosArray[i]]);
                    }
                    translator.PushAny(L, args[outPosArray[i]]);
                    nRet++;
                }

                return(nRet);
            }
            finally
            {
                for (int i = 0; i < args.Length; i++)
                {
                    args[i] = null;
                }
            }
        }