using System; using DG.Tweening; using UnityEngine; using UnityEngine.UI; namespace View.UI { public class SettingsMenu : MonoBehaviour { [SerializeField] private CanvasGroup mainUIGroup; [SerializeField] private Button openSettingsButton; [Space] [SerializeField] private CanvasGroup settingsUIGroup; [SerializeField] private Button closeSettingsButton; [Space] [SerializeField] private float transitionDuration = .5f; private void Awake() { openSettingsButton.onClick.AddListener(OpenSettings); closeSettingsButton.onClick.AddListener(CloseSettings); } private void OpenSettings() { mainUIGroup.interactable = mainUIGroup.blocksRaycasts = false; mainUIGroup.DOFade(0f, transitionDuration); settingsUIGroup.interactable = settingsUIGroup.blocksRaycasts = true; settingsUIGroup.DOFade(1f, transitionDuration); } private void CloseSettings() { settingsUIGroup.interactable = settingsUIGroup.blocksRaycasts = false; settingsUIGroup.DOFade(0f, transitionDuration); mainUIGroup.interactable = mainUIGroup.blocksRaycasts = true; mainUIGroup.DOFade(1f, transitionDuration); } } }