public override void Startup() { base.Startup(); _gameChat = new ChatBox(); _userInterfaceManager.StateRoot.AddChild(_gameChat); LayoutContainer.SetAnchorAndMarginPreset(_gameChat, LayoutContainer.LayoutPreset.TopRight, margin: 10); LayoutContainer.SetAnchorAndMarginPreset(_gameChat, LayoutContainer.LayoutPreset.TopRight, margin: 10); LayoutContainer.SetMarginLeft(_gameChat, -475); LayoutContainer.SetMarginBottom(_gameChat, 235); _userInterfaceManager.StateRoot.AddChild(_gameHud.RootControl); _chatManager.SetChatBox(_gameChat); _voteManager.SetPopupContainer(_gameHud.VoteContainer); _gameChat.DefaultChatFormat = "say \"{0}\""; _gameChat.Input.PlaceHolder = Loc.GetString("Say something! [ for OOC"); _inputManager.SetInputCommand(ContentKeyFunctions.FocusChat, InputCmdHandler.FromDelegate(_ => FocusChat(_gameChat))); _inputManager.SetInputCommand(ContentKeyFunctions.FocusOOC, InputCmdHandler.FromDelegate(_ => FocusOOC(_gameChat))); _inputManager.SetInputCommand(ContentKeyFunctions.FocusAdminChat, InputCmdHandler.FromDelegate(_ => FocusAdminChat(_gameChat))); _configurationManager.OnValueChanged(CCVars.OocEnabled, OnOocEnabledChanged, true); _configurationManager.OnValueChanged(CCVars.AdminOocEnabled, OnAdminOocEnabledChanged, true); _adminManager.AdminStatusUpdated += OnAdminStatusUpdated; SetupPresenters(); }
public override void Startup() { _gameTicker = EntitySystem.Get <ClientGameTicker>(); _characterSetup = new CharacterSetupGui(_entityManager, _resourceCache, _preferencesManager, _prototypeManager); LayoutContainer.SetAnchorPreset(_characterSetup, LayoutContainer.LayoutPreset.Wide); _lobby = new LobbyGui(_entityManager, _preferencesManager); _userInterfaceManager.StateRoot.AddChild(_lobby); _characterSetup.CloseButton.OnPressed += _ => { _userInterfaceManager.StateRoot.AddChild(_lobby); _userInterfaceManager.StateRoot.RemoveChild(_characterSetup); }; _characterSetup.SaveButton.OnPressed += _ => { _characterSetup.Save(); _lobby?.CharacterPreview.UpdateUI(); }; LayoutContainer.SetAnchorPreset(_lobby, LayoutContainer.LayoutPreset.Wide); _chatManager.SetChatBox(_lobby.Chat); _voteManager.SetPopupContainer(_lobby.VoteContainer); _lobby.ServerName.Text = _baseClient.GameInfo?.ServerName; ChatInput.SetupChatInputHandlers(_inputManager, _lobby.Chat); UpdateLobbyUi(); _lobby.CharacterPreview.CharacterSetupButton.OnPressed += _ => { SetReady(false); _userInterfaceManager.StateRoot.RemoveChild(_lobby); _userInterfaceManager.StateRoot.AddChild(_characterSetup); }; _lobby.ReadyButton.OnPressed += _ => { if (!_gameTicker.IsGameStarted) { return; } new LateJoinGui().OpenCentered(); }; _lobby.ReadyButton.OnToggled += args => { SetReady(args.Pressed); }; _lobby.LeaveButton.OnPressed += _ => _consoleHost.ExecuteCommand("disconnect"); _lobby.OptionsButton.OnPressed += _ => new OptionsMenu().Open(); UpdatePlayerList(); _playerManager.PlayerListUpdated += PlayerManagerOnPlayerListUpdated; _gameTicker.InfoBlobUpdated += UpdateLobbyUi; _gameTicker.LobbyStatusUpdated += LobbyStatusUpdated; _gameTicker.LobbyReadyUpdated += LobbyReadyUpdated; _gameTicker.LobbyLateJoinStatusUpdated += LobbyLateJoinStatusUpdated; }
public override void Startup() { var gameTicker = EntitySystem.Get <ClientGameTicker>(); _characterSetup = new CharacterSetupGui(_entityManager, _resourceCache, _preferencesManager, _prototypeManager); LayoutContainer.SetAnchorPreset(_characterSetup, LayoutContainer.LayoutPreset.Wide); _characterSetup.CloseButton.OnPressed += _ => { _userInterfaceManager.StateRoot.AddChild(_lobby); _userInterfaceManager.StateRoot.RemoveChild(_characterSetup); }; _characterSetup.SaveButton.OnPressed += _ => { _characterSetup.Save(); _lobby?.CharacterPreview.UpdateUI(); }; _lobby = new LobbyGui(_entityManager, _preferencesManager); _userInterfaceManager.StateRoot.AddChild(_lobby); LayoutContainer.SetAnchorPreset(_lobby, LayoutContainer.LayoutPreset.Wide); _chatManager.SetChatBox(_lobby.Chat); _voteManager.SetPopupContainer(_lobby.VoteContainer); _lobby.Chat.DefaultChatFormat = "ooc \"{0}\""; _lobby.ServerName.Text = _baseClient.GameInfo?.ServerName; _inputManager.SetInputCommand(ContentKeyFunctions.FocusChat, InputCmdHandler.FromDelegate(_ => GameScreen.FocusChat(_lobby.Chat))); _inputManager.SetInputCommand(ContentKeyFunctions.FocusOOC, InputCmdHandler.FromDelegate(_ => GameScreen.FocusChannel(_lobby.Chat, ChatChannel.OOC))); _inputManager.SetInputCommand(ContentKeyFunctions.FocusAdminChat, InputCmdHandler.FromDelegate(_ => GameScreen.FocusChannel(_lobby.Chat, ChatChannel.AdminChat))); _inputManager.SetInputCommand(ContentKeyFunctions.CycleChatChannelForward, InputCmdHandler.FromDelegate(_ => _lobby.Chat.CycleChatChannel(true))); _inputManager.SetInputCommand(ContentKeyFunctions.CycleChatChannelBackward, InputCmdHandler.FromDelegate(_ => _lobby.Chat.CycleChatChannel(false))); UpdateLobbyUi(); _lobby.CharacterPreview.CharacterSetupButton.OnPressed += _ => { SetReady(false); _userInterfaceManager.StateRoot.RemoveChild(_lobby); _userInterfaceManager.StateRoot.AddChild(_characterSetup); }; _lobby.ObserveButton.OnPressed += _ => _consoleHost.ExecuteCommand("observe"); _lobby.ReadyButton.OnPressed += _ => { if (!gameTicker.IsGameStarted) { return; } new LateJoinGui().OpenCentered(); }; _lobby.ReadyButton.OnToggled += args => { SetReady(args.Pressed); }; _lobby.LeaveButton.OnPressed += _ => _consoleHost.ExecuteCommand("disconnect"); _lobby.OptionsButton.OnPressed += _ => new OptionsMenu().Open(); UpdatePlayerList(); _playerManager.PlayerListUpdated += PlayerManagerOnPlayerListUpdated; gameTicker.InfoBlobUpdated += UpdateLobbyUi; gameTicker.LobbyStatusUpdated += LobbyStatusUpdated; gameTicker.LobbyReadyUpdated += LobbyReadyUpdated; gameTicker.LobbyLateJoinStatusUpdated += LobbyLateJoinStatusUpdated; }