Untitled

 avatar
unknown
plain_text
6 months ago
1.8 kB
1
Indexable
using UnityEngine;

public class PausedMenu : MonoBehaviour
{
    [SerializeField] private GameObject settingsMenu;
    [SerializeField] private GameObject pauseMenuObjects;

    [SerializeField] private GameObject languagePanel;
    [SerializeField] private GameObject exitPopupPanel;

    private CursorTrail _cursorTrail;

    private void OnEnable()
    {
        EventsHolder.OnComplete += DisableScript; 
        EventsHolder.OnGameOver += DisableScript;
    }

    private void OnDisable()
    {
        EventsHolder.OnComplete -= DisableScript;
        EventsHolder.OnGameOver -= DisableScript;
    }

    private void DisableScript() => enabled = false;

    private void Awake()
    {
        _cursorTrail = FindObjectOfType<CursorTrail>();

        pauseMenuObjects.SetActive(false);
        settingsMenu.SetActive(false);
        languagePanel.SetActive(false);
        exitPopupPanel.SetActive(false);
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.P))
        {
            if (settingsMenu.activeInHierarchy)
            {
                settingsMenu.SetActive(false);
                languagePanel.SetActive(false);
            }
            else if (exitPopupPanel.activeInHierarchy)
            {
                exitPopupPanel.SetActive(false);
            }
            else
            {
                Toggle();
            }
        }
    }

    public void Toggle()
    {
        EventsHolder.PlayAudioCLip("Pause");
        EventsHolder.GamePaused();

        pauseMenuObjects.SetActive(!pauseMenuObjects.activeSelf);
        _cursorTrail.gameObject.SetActive(!_cursorTrail.gameObject.activeSelf);
        settingsMenu.SetActive(false);

        //Time.timeScale = pauseMenuObjects.activeSelf ? 0 : 1;
    }
}
Editor is loading...
Leave a Comment