/// <summary> /// Erzeugt ein neues InputItem-Objekt und initialisiert dieses mit dem zugehörigen IGameScreen-Objekt. /// Zudem sind Angaben zur Zeichenreihenfolge und für evtl. bereits vor-eingetragenen Text Pflicht. /// </summary> public InputItem(IScreen screen, DisplayLayer drawOrder, string text, string inputText) : base(screen, drawOrder, text) { InputText = inputText; ValidKeys.AddRange(TextHelper.ValidKeys); ValidKeys.Add(Keys.Enter); IsInputEnabled = false; }
/// <summary> /// Erzeugt ein neues ConfirmDialog-Objekt und initialisiert dieses mit dem zugehörigen IGameScreen-Objekt. /// Zudem sind Angaben zur Zeichenreihenfolge, einer Zeichenkette für den Titel und für den eingeblendeten Text Pflicht. /// [base=screen, drawOrder, title, text] /// </summary> public ConfirmDialog(IScreen screen, DisplayLayer drawOrder, string title) : base(screen, drawOrder, title) { // Der Titel-Text ist mittig ausgerichtet AlignX = HorizontalAlignment.Center; Cancel = (time) => { Close(time); }; Submit = (time) => { Close(time); }; // Keys ValidKeys.AddRange(new Keys[] { Keys.Enter, Keys.Escape }); // Menü, in dem die Textanzeige angezeigt wird menu = new Menu(Screen, Index + DisplayLayer.Menu); menu.Bounds = ContentBounds; menu.ItemForegroundColor = (s) => Color.White; menu.ItemBackgroundColor = (s) => Color.Transparent; menu.ItemAlignX = HorizontalAlignment.Left; menu.ItemAlignY = VerticalAlignment.Center; // Button-Container buttons = new Container(screen, Index + DisplayLayer.Menu); buttons.ItemAlignX = HorizontalAlignment.Center; buttons.ItemBackgroundColor = (s) => Design.DialogBackground; // Button zum Canceln Action <GameTime> cancelAction = (time) => { Cancel(time); }; MenuEntry cancelButton = new MenuEntry( screen: Screen, drawOrder: Index + DisplayLayer.MenuItem, name: "Cancel", onClick: cancelAction ); cancelButton.Bounds.Size = new ScreenPoint(screen, () => ContentBounds.Size.Relative.X / 2, () => 0.05f); cancelButton.Bounds.Position = ContentBounds.Position + ContentBounds.Size.OnlyY - cancelButton.Bounds.Size.OnlyY; buttons.Add(cancelButton); // Button zum Submitten Action <GameTime> submitAction = (time) => { Submit(time); }; MenuEntry submitButton = new MenuEntry( screen: Screen, drawOrder: Index + DisplayLayer.MenuItem, name: "Confirm", onClick: submitAction ); submitButton.Bounds.Size = new ScreenPoint(screen, () => ContentBounds.Size.Relative.X / 2, () => 0.05f); submitButton.Bounds.Position = ContentBounds.Position + ContentBounds.Size.OnlyY - submitButton.Bounds.Size.OnlyY + ContentBounds.Size.OnlyX / 2; buttons.Add(submitButton); // Buttons zum Menü hinzufügen menu.Add(buttons); }