public static void Init() { keys = new KeyComboList(30, 2); keys.AddKeyCombo(new Keys[] { Keys.A }, "A"); keys.AddKeyCombo(new Keys[] { Keys.B }, "B"); keys.AddKeyCombo(new Keys[] { Keys.C }, "C"); keys.AddKeyCombo(new Keys[] { Keys.D }, "D"); keys.AddKeyCombo(new Keys[] { Keys.E }, "E"); keys.AddKeyCombo(new Keys[] { Keys.F }, "F"); keys.AddKeyCombo(new Keys[] { Keys.G }, "G"); keys.AddKeyCombo(new Keys[] { Keys.H }, "H"); keys.AddKeyCombo(new Keys[] { Keys.I }, "I"); keys.AddKeyCombo(new Keys[] { Keys.J }, "J"); keys.AddKeyCombo(new Keys[] { Keys.K }, "K"); keys.AddKeyCombo(new Keys[] { Keys.L }, "L"); keys.AddKeyCombo(new Keys[] { Keys.M }, "M"); keys.AddKeyCombo(new Keys[] { Keys.N }, "N"); keys.AddKeyCombo(new Keys[] { Keys.O }, "O"); keys.AddKeyCombo(new Keys[] { Keys.P }, "P"); keys.AddKeyCombo(new Keys[] { Keys.Q }, "Q"); keys.AddKeyCombo(new Keys[] { Keys.R }, "R"); keys.AddKeyCombo(new Keys[] { Keys.S }, "S"); keys.AddKeyCombo(new Keys[] { Keys.T }, "T"); keys.AddKeyCombo(new Keys[] { Keys.U }, "U"); keys.AddKeyCombo(new Keys[] { Keys.V }, "V"); keys.AddKeyCombo(new Keys[] { Keys.W }, "W"); keys.AddKeyCombo(new Keys[] { Keys.X }, "X"); keys.AddKeyCombo(new Keys[] { Keys.Y }, "Y"); keys.AddKeyCombo(new Keys[] { Keys.Z }, "Z"); keys.AddKeyCombo(new Keys[] { Keys.D0 }, "0"); keys.AddKeyCombo(new Keys[] { Keys.D1 }, "1"); keys.AddKeyCombo(new Keys[] { Keys.D2 }, "2"); keys.AddKeyCombo(new Keys[] { Keys.D3 }, "3"); keys.AddKeyCombo(new Keys[] { Keys.D4 }, "4"); keys.AddKeyCombo(new Keys[] { Keys.D5 }, "5"); keys.AddKeyCombo(new Keys[] { Keys.D6 }, "6"); keys.AddKeyCombo(new Keys[] { Keys.D7 }, "7"); keys.AddKeyCombo(new Keys[] { Keys.D8 }, "8"); keys.AddKeyCombo(new Keys[] { Keys.D9 }, "9"); keys.AddKeyCombo(new Keys[] { Keys.OemTilde }, "~"); keys.AddKeyCombo(new Keys[] { Keys.OemSemicolon }, ":"); keys.AddKeyCombo(new Keys[] { Keys.OemQuotes }, "\""); keys.AddKeyCombo(new Keys[] { Keys.OemQuestion }, "?"); keys.AddKeyCombo(new Keys[] { Keys.OemPlus }, "+"); keys.AddKeyCombo(new Keys[] { Keys.OemPipe }, "|"); keys.AddKeyCombo(new Keys[] { Keys.OemPeriod }, ">"); keys.AddKeyCombo(new Keys[] { Keys.OemOpenBrackets }, "{"); keys.AddKeyCombo(new Keys[] { Keys.OemCloseBrackets }, "}"); keys.AddKeyCombo(new Keys[] { Keys.OemMinus }, "_"); keys.AddKeyCombo(new Keys[] { Keys.OemComma }, "<"); keys.AddKeyCombo(new Keys[] { Keys.Space }, " "); }
public TextBox(Interface parent, string originText, int textSize, int?pointerBlinkInterval, Vector2 position, Vector2 size, Color?textColor, Color?innerColor, Color?outerColor, Color?pointerColor, ButtonListSide side = ButtonListSide.TopBottom, bool pollEvents = true, bool addToUI = true, bool isFrontElement = false) : base(parent, position, size, side, pollEvents, addToUI, isFrontElement) { tbText = new Text(originText, position, textColor.HasValue ? textColor.Value : Color.Black, TextOrientation.Left, textSize, 0); SetText(originText); pointerPos = tbText.String.Length > 0 ? tbText.String.Length : 0; this.pointerBlinkInterval = pointerBlinkInterval.HasValue ? pointerBlinkInterval.Value : 12; pointerBlinkCounter = 0; pointerShowing = false; active = false; surfaceColor = new Color[] { innerColor.HasValue?innerColor.Value : UI.BGColor }; borderColor = new Color[] { outerColor.HasValue?outerColor.Value : UI.SurfaceColor }; this.pointerColor = new Color[] { pointerColor.HasValue?pointerColor.Value : Color.Black }; keyCombos = new KeyComboList(30, 0); keyCombos.AddKeyCombo(new Keys[] { Keys.Left }, "LEFT"); keyCombos.AddKeyCombo(new Keys[] { Keys.Right }, "RIGHT"); keyCombos.AddKeyCombo(new Keys[] { Keys.Enter }, "ENTER"); keyCombos.AddKeyCombo(new Keys[] { Keys.Back }, "BACK"); Clicked += (sender) => { active = true; }; ResetState += (sender) => { active = false; }; LeftButtonPressed += (sender) => { if (pointerPos > 0) { pointerPos--; } pointerShowing = true; }; RightButtonPressed += (sender) => { if (pointerPos < tbText.String.Length) { pointerPos++; } pointerShowing = true; }; BackPressed += (sender) => { if (pointerPos > 0) { SetText(tbText.String.Remove(pointerPos - 1, 1)); pointerPos--; pointerShowing = true; } }; }