53 lines
1.3 KiB
C#
53 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
public class PausenManager : MonoBehaviour
|
|
{
|
|
// Damit andere Skripte (wie deine Waffe) wissen, ob pausiert ist
|
|
public static bool GameIsPaused = false;
|
|
|
|
// Ziehe dein Pause-Menü UI-Panel hier im Inspector rein
|
|
public GameObject pauseMenuUI;
|
|
|
|
void Update()
|
|
{
|
|
if (Input.GetKeyDown(KeyCode.Escape))
|
|
{
|
|
if (GameIsPaused)
|
|
{
|
|
Resume();
|
|
}
|
|
else
|
|
{
|
|
Pause();
|
|
}
|
|
}
|
|
}
|
|
|
|
public void Resume()
|
|
{
|
|
pauseMenuUI.SetActive(false);
|
|
Time.timeScale = 1f; // Zeit läuft wieder normal
|
|
GameIsPaused = false;
|
|
|
|
// Maus wieder verstecken und im Spiel festhalten
|
|
Cursor.visible = false;
|
|
Cursor.lockState = CursorLockMode.Locked;
|
|
}
|
|
|
|
void Pause()
|
|
{
|
|
pauseMenuUI.SetActive(true);
|
|
Time.timeScale = 0f; // Spiel friert ein
|
|
GameIsPaused = true;
|
|
|
|
// Maus anzeigen und entsperren, damit du klicken kannst
|
|
Cursor.visible = true;
|
|
Cursor.lockState = CursorLockMode.None;
|
|
}
|
|
|
|
public void QuitGame()
|
|
{
|
|
Debug.Log("Spiel wird verlassen...");
|
|
Application.Quit(); // Beendet das Spiel (funktioniert nur im fertigen Build, nicht im Editor)
|
|
}
|
|
} |