using System.Collections; using System.Collections.Generic; using UnityEngine; public class GameOptionsController : MonoBehaviour { [SerializeField] public List otherUIs; [SerializeField] private GameObject GameOptionsUI; [SerializeField] private GameEvent OnGameOptionsOpenned; [SerializeField] private GameInputBinding gamepadBinding; // New field for gamepad binding bool isInputTriggered; private void Start() { GameOptionsUI.SetActive(false); QualitySettings.vSyncCount = 1; } // Update is called once per frame void Update() { if (GameStateController.Instance.CurrentState != GameState.GameScene) return; //if (Input.GetKeyDown(KeyCode.Escape)) ToggleGameOptionsUI(); // Check for input using both keyboard and gamepad isInputTriggered = (!string.IsNullOrEmpty(gamepadBinding.bindingName) && GameInputManager.Instance.GetButtonDown(gamepadBinding.bindingName)); if (isInputTriggered) { ToggleGameOptionsUI(); } } private void ToggleGameOptionsUI() { GameOptionsUI.SetActive(!GameOptionsUI.activeSelf); if (!GameOptionsUI.activeSelf) return; for (int i = 0; i < otherUIs.Count; i++) { otherUIs[i].SetActive(false); } OnGameOptionsOpenned.Raise(); } }