using System; using UnityEngine; public class MenuGameplayTransit : MonoBehaviour { [SerializeField] private Menu _menu; [SerializeField] private GameplayLayoutController _gameplay; public event Action GameplayOpened; public void GotoGameplay() { _menu.Close(callback: OnMenuClosed); } public void GotoMenu() { _gameplay.Close(callback: OnGameplayClosed); } private void OnGameplayOpened() => GameplayOpened?.Invoke(); private void OnMenuOpened() => ControlsPerformer.Instance.SetControlable(_menu); private void OnMenuClosed() => _gameplay.Open(OnGameplayOpened); private void OnGameplayClosed() => _menu.Open(callback: OnMenuOpened); }