public override void HandleInput(IReadOnlyList <int> lastKeysPressed)
        {
            if (Input.IsKeyDown(InputKey.LeftControl) && Input.IsKeyPressed(InputKey.V))
            {
                return;
            }

            if (lastKeysPressed.Count > 0)
            {
                for (int i = 0; i < lastKeysPressed.Count; i++)
                {
                    int key = lastKeysPressed[i];
                    if (Enum.IsDefined(typeof(KeyCodes), key))
                    {
                        if (SettingType == SettingType.Float)
                        {
                            //Handle input for float types
                            if (key == (int)KeyCodes.Decimal)
                            {
                                if (RealText.Count('.') >= 1)
                                {
                                    continue;
                                }
                            }
                        }
                        else if (SettingType == SettingType.Int)
                        {
                            //Handle input for int types.
                            if (key == (int)KeyCodes.Decimal)
                            {
                                continue;
                            }
                        }
                        base.HandleInput(lastKeysPressed);
                        float value;
                        float.TryParse(RealText, out value);
                        float newVal = value;
                        if (value > MaxValue)
                        {
                            newVal = MaxValue;
                        }
                        else if (value < MinValue)
                        {
                            newVal = MinValue;
                        }
                        if (newVal != value)
                        {
                            string format = SettingType == SettingType.Int ? "0" : "0.00";
                            RealText = newVal.ToString(format);
                        }
                    }
                }
            }
        }
        public override void HandleInput(IReadOnlyList <int> lastKeysPressed)
        {
            if (Input.IsKeyDown(InputKey.LeftControl) && Input.IsKeyPressed(InputKey.V))
            {
                return;
            }

            if (lastKeysPressed.Count > 0)
            {
                for (var i = 0; i < lastKeysPressed.Count; i++)
                {
                    var key = lastKeysPressed[i];
                    if (SettingType == SettingType.String)
                    {
                        base.HandleInput(lastKeysPressed);
                    }
                    else if (Enum.IsDefined(typeof(KeyCodes), key))
                    {
                        if (key == (int)KeyCodes.Minus)
                        {
                            if (_editableWidget.SelectedTextBegin != 0)
                            {
                                continue;
                            }
                        }
                        else if (SettingType == SettingType.Float)
                        {
                            //Handle input for float types
                            if (key == (int)KeyCodes.Decimal)
                            {
                                if (RealText.Count('.') >= 1)
                                {
                                    continue;
                                }
                            }
                        }
                        else if (SettingType == SettingType.Int)
                        {
                            //Handle input for int types.
                            if (key == (int)KeyCodes.Decimal)
                            {
                                continue;
                            }
                        }
                        base.HandleInput(lastKeysPressed);

                        if (SettingType == SettingType.Float)
                        {
                            if (float.TryParse(RealText, out var value))
                            {
                                var newVal = value;
                                if (value > MaxValue)
                                {
                                    newVal = MaxValue;
                                }
                                else if (value < MinValue)
                                {
                                    newVal = MinValue;
                                }
                                if (newVal != value)
                                {
                                    var format = SettingType == SettingType.Int ? "0" : "0.00";
                                    RealText = newVal.ToString(format);
                                    _editableWidget.SetCursorPosition(0, true);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                base.HandleInput(lastKeysPressed);
            }
        }