コード例 #1
0
        static StackObject *Ctor_0(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 7);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.String textPlaceholder = (System.String) typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);
            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.Boolean alert = ptr_of_this_method->Value == 1;
            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            System.Boolean secure = ptr_of_this_method->Value == 1;
            ptr_of_this_method = ILIntepreter.Minus(__esp, 4);
            System.Boolean multiline = ptr_of_this_method->Value == 1;
            ptr_of_this_method = ILIntepreter.Minus(__esp, 5);
            System.Boolean autocorrection = ptr_of_this_method->Value == 1;
            ptr_of_this_method = ILIntepreter.Minus(__esp, 6);
            UnityEngine.TouchScreenKeyboardType keyboardType = (UnityEngine.TouchScreenKeyboardType) typeof(UnityEngine.TouchScreenKeyboardType).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);
            ptr_of_this_method = ILIntepreter.Minus(__esp, 7);
            System.String text = (System.String) typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = new UnityEngine.TouchScreenKeyboard(text, keyboardType, autocorrection, multiline, secure, alert, textPlaceholder);

            return(ILIntepreter.PushObject(__ret, __mStack, result_of_this_method));
        }
コード例 #2
0
        public override void OnSoftwareKeyboardVisibilityChanged(bool visible)
        {
            UnityEngine.TouchScreenKeyboard kbd = null;

            bool isHidden = (!UnityEngine.TouchScreenKeyboard.visible) ||
                            (CoherentUISystem.Instance.TouchscreenKeyboard == null);

            if (visible)
            {
                if (!isHidden)
                {
                    return;
                }

                UnityEngine.TouchScreenKeyboard.hideInput = true;
                string initialString = GetTouchScreenKbdInitialText();
                kbd = UnityEngine.TouchScreenKeyboard.Open(initialString);

                if (kbd != null && kbd.text.Length != initialString.Length)
                {
                    kbd.text = initialString;
                }
            }
            CoherentUISystem.Instance.TouchscreenKeyboard = kbd;
        }
コード例 #3
0
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if (LuaAPI.lua_gettop(L) == 9 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.TouchScreenKeyboardType>(L, 3) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 4) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 5) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 6) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 7) && (LuaAPI.lua_isnil(L, 8) || LuaAPI.lua_type(L, 8) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 9))
                {
                    string _text = LuaAPI.lua_tostring(L, 2);
                    UnityEngine.TouchScreenKeyboardType _keyboardType; translator.Get(L, 3, out _keyboardType);
                    bool   _autocorrection  = LuaAPI.lua_toboolean(L, 4);
                    bool   _multiline       = LuaAPI.lua_toboolean(L, 5);
                    bool   _secure          = LuaAPI.lua_toboolean(L, 6);
                    bool   _alert           = LuaAPI.lua_toboolean(L, 7);
                    string _textPlaceholder = LuaAPI.lua_tostring(L, 8);
                    int    _characterLimit  = LuaAPI.xlua_tointeger(L, 9);

                    UnityEngine.TouchScreenKeyboard gen_ret = new UnityEngine.TouchScreenKeyboard(_text, _keyboardType, _autocorrection, _multiline, _secure, _alert, _textPlaceholder, _characterLimit);
                    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.TouchScreenKeyboard constructor!"));
        }
コード例 #4
0
        static int _s_set_targetDisplay(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                UnityEngine.TouchScreenKeyboard gen_to_be_invoked = (UnityEngine.TouchScreenKeyboard)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.targetDisplay = LuaAPI.xlua_tointeger(L, 2);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(0);
        }
コード例 #5
0
        static int _g_get_type(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                UnityEngine.TouchScreenKeyboard gen_to_be_invoked = (UnityEngine.TouchScreenKeyboard)translator.FastGetCSObj(L, 1);
                translator.PushUnityEngineTouchScreenKeyboardType(L, gen_to_be_invoked.type);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(1);
        }
コード例 #6
0
        static int _g_get_characterLimit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                UnityEngine.TouchScreenKeyboard gen_to_be_invoked = (UnityEngine.TouchScreenKeyboard)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.characterLimit);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(1);
        }
コード例 #7
0
        static int _s_set_selection(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                UnityEngine.TouchScreenKeyboard gen_to_be_invoked = (UnityEngine.TouchScreenKeyboard)translator.FastGetCSObj(L, 1);
                UnityEngine.RangeInt            gen_value; translator.Get(L, 2, out gen_value);
                gen_to_be_invoked.selection = gen_value;
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(0);
        }
コード例 #8
0
ファイル: GameController.cs プロジェクト: kgns/MobileUO
        private void UnityInputUpdate()
        {
            var oneOverScale = 1f / Batcher.scale;

            //Finger/mouse handling
            if (UnityEngine.Application.isMobilePlatform && UserPreferences.UseMouseOnMobile.CurrentValue == 0)
            {
                var fingers = Lean.Touch.LeanTouch.GetFingers(true, false);

                //Detect two finger tap gesture for closing gumps, only when one of the fingers' state is Down
                if (fingers.Count == 2 && (fingers[0].Down || fingers[1].Down))
                {
                    var firstMousePositionPoint  = ConvertUnityMousePosition(fingers[0].ScreenPosition, oneOverScale);
                    var secondMousePositionPoint = ConvertUnityMousePosition(fingers[1].ScreenPosition, oneOverScale);
                    var firstControlUnderFinger  = UIManager.GetMouseOverControl(firstMousePositionPoint);
                    var secondControlUnderFinger = UIManager.GetMouseOverControl(secondMousePositionPoint);
                    //We prefer to get the root parent but sometimes it can be null (like with GridLootGump), in which case we revert to the initially found control
                    firstControlUnderFinger  = firstControlUnderFinger?.RootParent ?? firstControlUnderFinger;
                    secondControlUnderFinger = secondControlUnderFinger?.RootParent ?? secondControlUnderFinger;
                    if (firstControlUnderFinger != null && firstControlUnderFinger == secondControlUnderFinger)
                    {
                        //Simulate right mouse down and up
                        SimulateMouse(false, false, true, false, false, true);
                        SimulateMouse(false, false, false, true, false, true);
                    }
                }
                //Only process one finger that has not started over gui because using multiple fingers with UIManager
                //causes issues due to the assumption that there's only one pointer, such as one finger "stealing" a
                //dragged gump from another
                else if (fingers.Count > 0)
                {
                    var finger      = fingers[0];
                    var mouseMotion = finger.ScreenPosition != finger.LastScreenPosition;
                    SimulateMouse(finger.Down, finger.Up, false, false, mouseMotion, false);
                }
            }
            else
            {
                var leftMouseDown  = UnityEngine.Input.GetMouseButtonDown(0);
                var leftMouseUp    = UnityEngine.Input.GetMouseButtonUp(0);
                var rightMouseDown = UnityEngine.Input.GetMouseButtonDown(1);
                var rightMouseUp   = UnityEngine.Input.GetMouseButtonUp(1);
                var mousePosition  = UnityEngine.Input.mousePosition;
                var mouseMotion    = mousePosition != lastMousePosition;
                lastMousePosition = mousePosition;

                if (Lean.Touch.LeanTouch.PointOverGui(mousePosition))
                {
                    Mouse.Position.X = 0;
                    Mouse.Position.Y = 0;
                    leftMouseDown    = false;
                    leftMouseUp      = false;
                    rightMouseDown   = false;
                    rightMouseUp     = false;
                }

                SimulateMouse(leftMouseDown, leftMouseUp, rightMouseDown, rightMouseUp, mouseMotion, false);
            }

            //Keyboard handling
            var keymod = KeymodOverride;

            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.LeftAlt))
            {
                keymod |= SDL_Keymod.KMOD_LALT;
            }
            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.RightAlt))
            {
                keymod |= SDL_Keymod.KMOD_RALT;
            }
            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.LeftShift))
            {
                keymod |= SDL_Keymod.KMOD_LSHIFT;
            }
            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.RightShift))
            {
                keymod |= SDL_Keymod.KMOD_RSHIFT;
            }
            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.LeftControl))
            {
                keymod |= SDL_Keymod.KMOD_LCTRL;
            }
            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.RightControl))
            {
                keymod |= SDL_Keymod.KMOD_RCTRL;
            }

            //Potential fix for hold alt to move gumps not working on mobile?
            Keyboard.Shift = (keymod & SDL_Keymod.KMOD_SHIFT) != SDL_Keymod.KMOD_NONE;
            Keyboard.Alt   = (keymod & SDL_Keymod.KMOD_ALT) != SDL_Keymod.KMOD_NONE;
            Keyboard.Ctrl  = (keymod & SDL_Keymod.KMOD_CTRL) != SDL_Keymod.KMOD_NONE;

            foreach (var keyCode in _keyCodeEnumValues)
            {
                var key = new SDL_KeyboardEvent {
                    keysym = new SDL_Keysym {
                        sym = (SDL_Keycode)keyCode, mod = keymod
                    }
                };
                if (UnityEngine.Input.GetKeyDown(keyCode))
                {
                    Keyboard.OnKeyDown(key);

                    if (Plugin.ProcessHotkeys((int)key.keysym.sym, (int)key.keysym.mod, true))
                    {
                        _ignoreNextTextInput = false;
                        UIManager.KeyboardFocusControl?.InvokeKeyDown(key.keysym.sym, key.keysym.mod);
                        _scene.OnKeyDown(key);
                    }
                    else
                    {
                        _ignoreNextTextInput = true;
                    }
                }
                if (UnityEngine.Input.GetKeyUp(keyCode))
                {
                    Keyboard.OnKeyUp(key);
                    UIManager.KeyboardFocusControl?.InvokeKeyUp(key.keysym.sym, key.keysym.mod);
                    _scene.OnKeyUp(key);
                    Plugin.ProcessHotkeys(0, 0, false);
                }
            }

            //Input text handling
            if (UnityEngine.Application.isMobilePlatform && TouchScreenKeyboard != null)
            {
                var text = TouchScreenKeyboard.text;

                if (_ignoreNextTextInput == false && TouchScreenKeyboard.status == UnityEngine.TouchScreenKeyboard.Status.Done)
                {
                    //Clear the text of TouchScreenKeyboard, otherwise it stays there and is re-evaluated every frame
                    TouchScreenKeyboard.text = string.Empty;

                    //Set keyboard to null so we process its text only once when its status is set to Done
                    TouchScreenKeyboard = null;

                    //Need to clear the existing text in textbox before "pasting" new text from TouchScreenKeyboard
                    if (UIManager.KeyboardFocusControl is StbTextBox stbTextBox)
                    {
                        stbTextBox.SetText(string.Empty);
                    }

                    UIManager.KeyboardFocusControl?.InvokeTextInput(text);
                    _scene.OnTextInput(text);

                    //When targeting SystemChat textbox, "auto-press" return key so that the text entered on the TouchScreenKeyboard is submitted right away
                    if (UIManager.KeyboardFocusControl != null && UIManager.KeyboardFocusControl == UIManager.SystemChat?.TextBoxControl)
                    {
                        //Handle different chat modes
                        HandleChatMode(text);
                        //"Press" return
                        UIManager.KeyboardFocusControl.InvokeKeyDown(SDL_Keycode.SDLK_RETURN, SDL_Keymod.KMOD_NONE);
                        //Revert chat mode to default
                        UIManager.SystemChat.Mode = ChatMode.Default;
                    }
                }
            }
            else
            {
                var text = UnityEngine.Input.inputString;
                //Backspace character should not be sent as text input
                text = text.Replace("\b", "");
                if (_ignoreNextTextInput == false && string.IsNullOrEmpty(text) == false)
                {
                    UIManager.KeyboardFocusControl?.InvokeTextInput(text);
                    _scene.OnTextInput(text);
                }
            }
        }
コード例 #9
0
        private void UnityInputUpdate()
        {
            var oneOverScale = 1f / Batcher.scale;

            //Finger/mouse handling
            if (UnityEngine.Application.isMobilePlatform && UserPreferences.UseMouseOnMobile.CurrentValue == 0)
            {
                var fingers = Lean.Touch.LeanTouch.GetFingers(true, false);

                //Detect two finger tap gesture for closing gumps
                for (int i = 0; i < fingers.Count && i < 5; i++)
                {
                    var finger = fingers[i];
                    if (finger.Age < 0.1f)
                    {
                        var mousePositionPoint = ConvertUnityMousePosition(finger.ScreenPosition, oneOverScale);
                        controlsUnderFingers[i] = UIManager.GetMouseOverControl(mousePositionPoint)?.RootParent;
                        if (controlsUnderFingers[i] != null)
                        {
                            for (int k = 0; k < i; k++)
                            {
                                if (controlsUnderFingers[k] == controlsUnderFingers[i])
                                {
                                    //Simulate right mouse down and up
                                    SimulateMouse(false, false, true, false, false, true);
                                    SimulateMouse(false, false, false, true, false, true);
                                    break;
                                }
                            }
                        }
                    }
                    else
                    {
                        controlsUnderFingers[i] = null;
                    }
                }

                //Only process one finger that has not started over gui because using multiple fingers with UIManager
                //causes issues due to the assumption that there's only one pointer, such as on finger "stealing"
                //a dragged gump from another
                if (fingers.Count > 0)
                {
                    var finger      = fingers[0];
                    var mouseMotion = finger.ScreenPosition != finger.LastScreenPosition;
                    SimulateMouse(finger.Down, finger.Up, false, false, mouseMotion, false);
                }
            }
            else
            {
                var leftMouseDown  = UnityEngine.Input.GetMouseButtonDown(0);
                var leftMouseUp    = UnityEngine.Input.GetMouseButtonUp(0);
                var rightMouseDown = UnityEngine.Input.GetMouseButtonDown(1);
                var rightMouseUp   = UnityEngine.Input.GetMouseButtonUp(1);
                var mousePosition  = UnityEngine.Input.mousePosition;
                var mouseMotion    = mousePosition != lastMousePosition;
                lastMousePosition = mousePosition;

                if (Lean.Touch.LeanTouch.PointOverGui(mousePosition))
                {
                    Mouse.Position.X = 0;
                    Mouse.Position.Y = 0;
                    leftMouseDown    = false;
                    leftMouseUp      = false;
                    rightMouseDown   = false;
                    rightMouseUp     = false;
                }

                SimulateMouse(leftMouseDown, leftMouseUp, rightMouseDown, rightMouseUp, mouseMotion, false);
            }

            //Keyboard handling
            var keymod = SDL.SDL_Keymod.KMOD_NONE;

            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.LeftAlt))
            {
                keymod |= SDL_Keymod.KMOD_LALT;
            }
            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.RightAlt))
            {
                keymod |= SDL_Keymod.KMOD_RALT;
            }
            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.LeftShift))
            {
                keymod |= SDL_Keymod.KMOD_LSHIFT;
            }
            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.RightShift))
            {
                keymod |= SDL_Keymod.KMOD_RSHIFT;
            }
            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.LeftControl))
            {
                keymod |= SDL_Keymod.KMOD_LCTRL;
            }
            if (UnityEngine.Input.GetKey(UnityEngine.KeyCode.RightControl))
            {
                keymod |= SDL_Keymod.KMOD_RCTRL;
            }
            foreach (var keyCode in _keyCodeEnumValues)
            {
                var key = new SDL_KeyboardEvent {
                    keysym = new SDL_Keysym {
                        sym = (SDL_Keycode)keyCode, mod = keymod
                    }
                };
                if (UnityEngine.Input.GetKeyDown(keyCode))
                {
                    Keyboard.OnKeyDown(key);
                    UIManager.KeyboardFocusControl?.InvokeKeyDown(key.keysym.sym, key.keysym.mod);
                    _scene.OnKeyDown(key);
                }
                if (UnityEngine.Input.GetKeyUp(keyCode))
                {
                    Keyboard.OnKeyUp(key);
                    UIManager.KeyboardFocusControl?.InvokeKeyUp(key.keysym.sym, key.keysym.mod);
                    _scene.OnKeyUp(key);
                }
            }

            //Input text handling
            if (UnityEngine.Application.isMobilePlatform)
            {
                var text = TouchScreenKeyboard?.text;
                if (_ignoreNextTextInput == false && TouchScreenKeyboard?.status == UnityEngine.TouchScreenKeyboard.Status.Done)
                {
                    //Set keyboard to null so we process its text only once when its status is set to Done
                    TouchScreenKeyboard = null;
                    //Need to clear the existing text in textbox before "pasting" new text from TouchScreenKeyboard
                    if (UIManager.KeyboardFocusControl is StbTextBox stbTextBox)
                    {
                        stbTextBox.SetText(string.Empty);
                    }

                    UIManager.KeyboardFocusControl?.InvokeTextInput(text);
                    _scene.OnTextInput(text);

                    //When targeting SystemChat textbox, "auto-press" return key so that the text entered on the TouchScreenKeyboard is submitted right away
                    if (UIManager.KeyboardFocusControl != null && UIManager.KeyboardFocusControl == UIManager.SystemChat?.TextBoxControl)
                    {
                        UIManager.KeyboardFocusControl.InvokeKeyDown(SDL_Keycode.SDLK_RETURN, SDL_Keymod.KMOD_NONE);
                    }

                    //Clear the text of TouchScreenKeyboard, otherwise it stays there and is re-evaluated every frame
                    TouchScreenKeyboard.text = string.Empty;
                }
            }
            else
            {
                var text = UnityEngine.Input.inputString;
                //Backspace character should not be sent as text input
                text = text.Replace("\b", "");
                if (_ignoreNextTextInput == false && string.IsNullOrEmpty(text) == false)
                {
                    UIManager.KeyboardFocusControl?.InvokeTextInput(text);
                    _scene.OnTextInput(text);
                }
            }
        }
コード例 #10
0
        static int _m_Open_xlua_st_(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



                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 _text = LuaAPI.lua_tostring(L, 1);

                    UnityEngine.TouchScreenKeyboard gen_ret = UnityEngine.TouchScreenKeyboard.Open(_text);
                    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.TouchScreenKeyboardType>(L, 2))
                {
                    string _text = LuaAPI.lua_tostring(L, 1);
                    UnityEngine.TouchScreenKeyboardType _keyboardType; translator.Get(L, 2, out _keyboardType);

                    UnityEngine.TouchScreenKeyboard gen_ret = UnityEngine.TouchScreenKeyboard.Open(_text, _keyboardType);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 3 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.TouchScreenKeyboardType>(L, 2) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 3))
                {
                    string _text = LuaAPI.lua_tostring(L, 1);
                    UnityEngine.TouchScreenKeyboardType _keyboardType; translator.Get(L, 2, out _keyboardType);
                    bool _autocorrection = LuaAPI.lua_toboolean(L, 3);

                    UnityEngine.TouchScreenKeyboard gen_ret = UnityEngine.TouchScreenKeyboard.Open(_text, _keyboardType, _autocorrection);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 4 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.TouchScreenKeyboardType>(L, 2) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 4))
                {
                    string _text = LuaAPI.lua_tostring(L, 1);
                    UnityEngine.TouchScreenKeyboardType _keyboardType; translator.Get(L, 2, out _keyboardType);
                    bool _autocorrection = LuaAPI.lua_toboolean(L, 3);
                    bool _multiline      = LuaAPI.lua_toboolean(L, 4);

                    UnityEngine.TouchScreenKeyboard gen_ret = UnityEngine.TouchScreenKeyboard.Open(_text, _keyboardType, _autocorrection, _multiline);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 5 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.TouchScreenKeyboardType>(L, 2) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 4) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 5))
                {
                    string _text = LuaAPI.lua_tostring(L, 1);
                    UnityEngine.TouchScreenKeyboardType _keyboardType; translator.Get(L, 2, out _keyboardType);
                    bool _autocorrection = LuaAPI.lua_toboolean(L, 3);
                    bool _multiline      = LuaAPI.lua_toboolean(L, 4);
                    bool _secure         = LuaAPI.lua_toboolean(L, 5);

                    UnityEngine.TouchScreenKeyboard gen_ret = UnityEngine.TouchScreenKeyboard.Open(_text, _keyboardType, _autocorrection, _multiline, _secure);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 6 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.TouchScreenKeyboardType>(L, 2) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 4) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 5) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 6))
                {
                    string _text = LuaAPI.lua_tostring(L, 1);
                    UnityEngine.TouchScreenKeyboardType _keyboardType; translator.Get(L, 2, out _keyboardType);
                    bool _autocorrection = LuaAPI.lua_toboolean(L, 3);
                    bool _multiline      = LuaAPI.lua_toboolean(L, 4);
                    bool _secure         = LuaAPI.lua_toboolean(L, 5);
                    bool _alert          = LuaAPI.lua_toboolean(L, 6);

                    UnityEngine.TouchScreenKeyboard gen_ret = UnityEngine.TouchScreenKeyboard.Open(_text, _keyboardType, _autocorrection, _multiline, _secure, _alert);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 7 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.TouchScreenKeyboardType>(L, 2) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 4) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 5) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 6) && (LuaAPI.lua_isnil(L, 7) || LuaAPI.lua_type(L, 7) == LuaTypes.LUA_TSTRING))
                {
                    string _text = LuaAPI.lua_tostring(L, 1);
                    UnityEngine.TouchScreenKeyboardType _keyboardType; translator.Get(L, 2, out _keyboardType);
                    bool   _autocorrection  = LuaAPI.lua_toboolean(L, 3);
                    bool   _multiline       = LuaAPI.lua_toboolean(L, 4);
                    bool   _secure          = LuaAPI.lua_toboolean(L, 5);
                    bool   _alert           = LuaAPI.lua_toboolean(L, 6);
                    string _textPlaceholder = LuaAPI.lua_tostring(L, 7);

                    UnityEngine.TouchScreenKeyboard gen_ret = UnityEngine.TouchScreenKeyboard.Open(_text, _keyboardType, _autocorrection, _multiline, _secure, _alert, _textPlaceholder);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 8 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && translator.Assignable <UnityEngine.TouchScreenKeyboardType>(L, 2) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 4) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 5) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 6) && (LuaAPI.lua_isnil(L, 7) || LuaAPI.lua_type(L, 7) == LuaTypes.LUA_TSTRING) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 8))
                {
                    string _text = LuaAPI.lua_tostring(L, 1);
                    UnityEngine.TouchScreenKeyboardType _keyboardType; translator.Get(L, 2, out _keyboardType);
                    bool   _autocorrection  = LuaAPI.lua_toboolean(L, 3);
                    bool   _multiline       = LuaAPI.lua_toboolean(L, 4);
                    bool   _secure          = LuaAPI.lua_toboolean(L, 5);
                    bool   _alert           = LuaAPI.lua_toboolean(L, 6);
                    string _textPlaceholder = LuaAPI.lua_tostring(L, 7);
                    int    _characterLimit  = LuaAPI.xlua_tointeger(L, 8);

                    UnityEngine.TouchScreenKeyboard gen_ret = UnityEngine.TouchScreenKeyboard.Open(_text, _keyboardType, _autocorrection, _multiline, _secure, _alert, _textPlaceholder, _characterLimit);
                    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.TouchScreenKeyboard.Open!"));
        }