2022-12-01 01:15:01 +02:00
|
|
|
using System.Collections;
|
2022-07-08 00:20:48 +03:00
|
|
|
using TMPro;
|
2022-01-01 22:56:29 +01:00
|
|
|
using UnityEngine;
|
2022-08-18 19:07:10 +03:00
|
|
|
using UnityEngine.InputSystem;
|
2022-05-01 04:39:09 +02:00
|
|
|
using UnityEngine.SceneManagement;
|
2022-01-01 22:56:29 +01:00
|
|
|
|
|
|
|
|
public class PauseMenu : BaseMenu
|
|
|
|
|
{
|
2022-10-17 10:53:16 +02:00
|
|
|
[SerializeField] private PlayerUI _playerUI = default;
|
|
|
|
|
[SerializeField] private TextMeshProUGUI _whoPaused = default;
|
2022-12-01 00:21:24 +02:00
|
|
|
[SerializeField] private PromptsInput _prompts = default;
|
2023-10-09 14:39:10 +03:00
|
|
|
[SerializeField] private BaseMenu _trainingTopBar = default;
|
2024-01-10 20:43:47 +02:00
|
|
|
[SerializeField] private InputManager _inputManager = default;
|
2022-10-17 10:53:16 +02:00
|
|
|
public bool PlayerOnePaused { get; private set; }
|
|
|
|
|
public PlayerInput PlayerInput { get; set; }
|
2022-01-01 22:56:29 +01:00
|
|
|
|
2022-10-17 10:53:16 +02:00
|
|
|
public void ClosePause()
|
|
|
|
|
{
|
2024-01-10 20:43:47 +02:00
|
|
|
_inputManager.SetPrompts(null);
|
2022-10-17 10:53:16 +02:00
|
|
|
_playerUI.ClosePause();
|
2022-12-01 00:21:24 +02:00
|
|
|
_prompts.enabled = false;
|
2022-10-17 10:53:16 +02:00
|
|
|
}
|
2022-05-01 04:39:09 +02:00
|
|
|
|
2022-10-17 10:53:16 +02:00
|
|
|
public void SetWhoPaused(bool playerOnePaused)
|
|
|
|
|
{
|
2022-12-04 21:35:31 +02:00
|
|
|
GameplayManager.Instance.PauseMenu = this;
|
2022-10-17 10:53:16 +02:00
|
|
|
PlayerOnePaused = playerOnePaused;
|
|
|
|
|
if (playerOnePaused)
|
2023-10-09 14:39:10 +03:00
|
|
|
_whoPaused.text = "P1 Paused";
|
2022-10-17 10:53:16 +02:00
|
|
|
else
|
2023-10-09 14:39:10 +03:00
|
|
|
_whoPaused.text = "P2 Paused";
|
2022-12-01 01:15:01 +02:00
|
|
|
}
|
|
|
|
|
|
2023-10-10 16:16:19 +03:00
|
|
|
protected override void OnEnable()
|
2022-12-01 01:15:01 +02:00
|
|
|
{
|
2023-10-26 22:42:28 +03:00
|
|
|
if (_trainingTopBar != null)
|
|
|
|
|
_trainingTopBar.Show();
|
2023-10-10 16:16:19 +03:00
|
|
|
if (gameObject.activeSelf)
|
|
|
|
|
StartCoroutine(PromptEnablerCoroutine());
|
|
|
|
|
base.OnEnable();
|
2022-10-17 10:53:16 +02:00
|
|
|
}
|
2022-07-08 00:20:48 +03:00
|
|
|
|
2022-10-17 10:53:16 +02:00
|
|
|
public void Restart()
|
|
|
|
|
{
|
|
|
|
|
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
|
|
|
|
|
}
|
2022-12-01 01:15:01 +02:00
|
|
|
|
|
|
|
|
IEnumerator PromptEnablerCoroutine()
|
|
|
|
|
{
|
|
|
|
|
yield return new WaitForSecondsRealtime(0.1f);
|
|
|
|
|
_prompts.enabled = true;
|
|
|
|
|
}
|
2022-01-01 22:56:29 +01:00
|
|
|
}
|