diff options
Diffstat (limited to 'Assembly_CSharp/PauseMenu.cs')
-rw-r--r-- | Assembly_CSharp/PauseMenu.cs | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/Assembly_CSharp/PauseMenu.cs b/Assembly_CSharp/PauseMenu.cs new file mode 100644 index 0000000..0ccfc28 --- /dev/null +++ b/Assembly_CSharp/PauseMenu.cs @@ -0,0 +1,140 @@ +using UnityEngine; + +public class PauseMenu : MonoBehaviour +{ + [SerializeField] + private KeyCode pauseKey1; + + [SerializeField] + private KeyCode pauseKey2; + + [SerializeField] + private KeyCode hideUIKey; + + [SerializeField] + private KeyCode damageTrackerKey; + + [SerializeField] + private GameObject pauseMenu; + + [SerializeField] + private GameObject areYouSureMenu; + + [SerializeField] + private GameObject optionsMenu; + + [SerializeField] + private GameObject[] hideableUI; + + [SerializeField] + private GameObject[] hideableWithTracker; + + private bool uiHidden; + + private bool trackerHidden = true; + + public bool paused; + + public static PauseMenu instance; + + private void Awake() + { + instance = this; + } + + private void Update() + { + if (Input.GetKeyDown(pauseKey1) || Input.GetKeyDown(pauseKey2)) + { + if (!paused) + { + UnHideUI(); + Pause(); + } + else + { + UnPause(); + } + } + if (Input.GetKeyDown(hideUIKey)) + { + if (uiHidden) + { + UnHideUI(); + } + else + { + hideUI(); + } + } + if (Input.GetKeyDown(damageTrackerKey)) + { + if (trackerHidden) + { + UnHideTracker(); + } + else + { + HideTracker(); + } + } + } + + public void Pause() + { + paused = true; + Time.timeScale = 0f; + pauseMenu.SetActive(value: true); + } + + public void UnPause() + { + pauseMenu.SetActive(value: false); + areYouSureMenu.SetActive(value: false); + optionsMenu.SetActive(value: false); + Time.timeScale = 1f; + paused = false; + } + + public void hideUI() + { + uiHidden = true; + GameObject[] array = hideableUI; + for (int i = 0; i < array.Length; i++) + { + array[i].SetActive(value: false); + } + } + + public void UnHideUI() + { + uiHidden = false; + GameObject[] array = hideableUI; + for (int i = 0; i < array.Length; i++) + { + array[i].SetActive(value: true); + } + } + + public void HideTracker() + { + trackerHidden = true; + DamageTracker.instance.uiObject.SetActive(value: false); + GameObject[] array = hideableWithTracker; + for (int i = 0; i < array.Length; i++) + { + array[i].SetActive(value: false); + } + } + + public void UnHideTracker() + { + trackerHidden = false; + DamageTracker.instance.DisplayDamageTotals(); + GameObject[] array = hideableWithTracker; + for (int i = 0; i < array.Length; i++) + { + array[i].SetActive(value: true); + } + } +} |