Beispiel #1
0
        public TextBox(int x, int y, int width = 100, string name = "", int tsize = 12, int limit = 16, bool encoded = false)
            : base(x, y, width, TextDisplay.GetHeight(12) + 4, new RGBColor(255, 255, 255))
        {
            Limit    = limit;
            Selected = false;
            Encoded  = encoded;

            Text      = new StringBuilder();
            TitleText = new TextDisplay(2, -20, name, color: new RGBColor(10, 10, 10));
            TextField = new TextDisplay(2, 2, "", size: tsize, color: new RGBColor(10, 10, 10));

            SelectedMarket = new FilledRectangle(1, 1, 2, Height - 2, new RGBColor(0, 0, 0))
            {
                Visible = false
            };

            KeyBoardHandler = new KeyBoardHandler();

            KeyBoardHandler.BindKey(new LoEKey()
            {
                Key   = Keys.Back,
                Event = delegate
                {
                    if (Text.Length > 0)
                    {
                        Text.Length--;
                    }
                }
            });

            AddChild(SelectedMarket);
            AddChild(TitleText);
            AddChild(TextField);
        }
Beispiel #2
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            if (!Selected)
            {
                SelectedMarket.Visible = false;
                return;
            }

            Timer += (float)gameTime.ElapsedGameTime.TotalSeconds;

            foreach (var i in Keyboard.GetState().GetPressedKeys())
            {
                if (!KeyBoardHandler.ContainsKey(i))
                {
                    KeyBoardHandler.BindKey(new LoEKey()
                    {
                        Key   = i,
                        Event = delegate
                        {
                            if (Encoded)
                            {
                                Text.Append("*");
                            }
                            else
                            {
                                Text.Append(i.ToString());
                            }
                        }
                    });
                }
            }

            TextField.Text = Encoded ? GetEncodedString(Text.ToString()) : Text.ToString();

            if (Selected && Timer > 0.5f)
            {
                SelectedMarket.Visible = !SelectedMarket.Visible;
                Timer = 0f;
            }

            SelectedMarket.X = TextField.Width + 3;
        }