Esempio n. 1
0
 public ChatTab(EquipMenuComponent menuComponent)
     : base(menuComponent)
 {
     _sendControl = new KeyboardKey(Keys.Enter);
     _message = new EditableText("", 1000, new CharacterSet(Content.FontChat.Characters), MenuEngine.Game, () => { });
     _messageBeeper = new MessageBeeper(MenuEngine.Game, "PlayerMessage", () => Messages.FirstOrDefault());
     _cursorBlinkStartTime = MenuEngine.Game.GameTime.TotalRealTime;
 }
Esempio n. 2
0
 private void StopWritingMessage()
 {
     _message.Dispose();
     _message = null;
     _scrollPosition = 0;
     _game.UIEngine.PopExclusiveControls();
 }
Esempio n. 3
0
 public MainMenuTextField(MenuEngineImpl menuEngine, Func<string> getName, Action action, EditableText text)
     : base(menuEngine, null, action)
 {
     _text = text;
     Name = () => getName() + _text.Content;
 }
Esempio n. 4
0
 private void StartWritingMessage()
 {
     if (_message != null) throw new InvalidOperationException("Already writing a message");
     IEnumerable<Control> exclusiveControls = new[] { _chatSendControl, _escapeControl, _scrollUpControl, _scrollDownControl };
     _game.UIEngine.PushExclusiveControls(exclusiveControls);
     _message = new EditableText("", 1000, new CharacterSet(ChatFont.Characters), _game, () => { }) { IsActive = true };
 }
Esempio n. 5
0
 private void UpdateSelectors()
 {
     if (_playerNames != null && MenuPanePlayers.Count() == _playerNames.Count()) return; // already up to date
     if (MenuPanePlayers.Count() > MAX_MENU_PANES) throw new ApplicationException("Too many players want menu panes");
     int aspectCount = Enum.GetValues(typeof(EquipMenuItem)).Length;
     _equipmentSelectors = new EquipmentSelector[MenuPanePlayers.Count(), aspectCount];
     if (_playerNames != null) foreach (var name in _playerNames) if (name != null) name.Dispose();
     _playerNames = new EditableText[MenuPanePlayers.Count()];
     foreach (var indexedPlayer in MenuPanePlayers)
     {
         var player = indexedPlayer.Item1;
         int playerI = indexedPlayer.Item2;
         var settings =
             playerI == 0 ? MenuEngine.Game.Settings.Players.Player1 :
             playerI == 1 ? MenuEngine.Game.Settings.Players.Player2 :
             new AW2.Settings.PlayerSettingsItem();
         _currentItems[playerI] = EquipMenuItem.Ship;
         if (IsPlayerNameEditable(player))
             _playerNames[playerI] = new EditableText(player.Name, AW2.Settings.PlayerSettings.PLAYER_NAME_MAX_LENGTH, new CharacterSet(Content.FontSmall.Characters), MenuEngine.Game, PlayerNameKeyPressHandler);
         _equipmentSelectors[playerI, (int)EquipMenuItem.Ship] = new ShipSelector(MenuEngine.Game, player, settings, GetShipSelectorPos(playerI));
         _equipmentSelectors[playerI, (int)EquipMenuItem.Extra] = new ExtraDeviceSelector(MenuEngine.Game, player, settings, GetExtraDeviceSelectorPos(playerI));
         _equipmentSelectors[playerI, (int)EquipMenuItem.Weapon2] = new Weapon2Selector(MenuEngine.Game, player, settings, GetWeapon2SelectorPos(playerI));
     }
 }