/// <summary> /// Check whether key-binds for the chat box are pressed. /// </summary> /// <param name="modSettings">The mod settings instance.</param> private void CheckKeyBinds(ModSettings modSettings) { if (!_chatBoxGroup.IsActive()) { return; } if (_isOpen) { if (InputHandler.Instance.inputActions.pause.WasPressed) { HideChatInput(); } } else { var gameManager = GameManager.instance; var uiManager = UIManager.instance; if (gameManager == null || uiManager == null || gameManager.gameState != GameState.PLAYING || uiManager.uiState != UIState.PLAYING || IsInventoryOpen() ) { return; } if (gameManager.gameState == GameState.PLAYING && Input.GetKeyDown((KeyCode)modSettings.OpenChatKey)) { _isOpen = true; for (var i = 0; i < MaxMessages; i++) { _messages[i]?.OnChatToggle(true); } _chatInput.SetActive(true); _chatInput.Focus(); InputHandler.Instance.PreventPause(); SetEnabledHeroActions(false); } } }
/// <inheritdoc /> public virtual void SetActive(bool active) { _activeSelf = active; GameObject.SetActive(_activeSelf && _componentGroup.IsActive()); }