PacMan/Assets/Scripts/PauseManager.cs

58 lines
1.3 KiB
C#
Raw Normal View History

2025-03-17 21:56:02 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class PauseManager : MonoBehaviour
{
public PacManInput pacManInputControl;//<2F><><EFBFBD><EFBFBD>ϵͳ
public GameObject PauseMenu;
public GameObject PauseButton;
public Sprite[] pauseSprite;
private bool isPaused = false;
private void Awake()
{
pacManInputControl = new PacManInput();//newһ<77><D2BB><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>ϵͳ
}
private void OnEnable()
{
pacManInputControl.Enable();
}
private void OnDisable()
{
pacManInputControl.Disable();
}
void Update()
{
// <20><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><D3BC>̿<EFBFBD><CCBF>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD>ESC<53><43><EFBFBD><EFBFBD>
pacManInputControl.PacManInputSystem.Menu.performed += ctx => TogglePause();
}
// <20><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>󶨷<EFBFBD><F3B6A8B7><EFBFBD>
public void TogglePause()
{
isPaused = !isPaused;
PauseMenu.SetActive(isPaused);
PauseButton.gameObject.GetComponent<Image>().sprite = isPaused ? pauseSprite[0] : pauseSprite[1];
Time.timeScale = isPaused ? 0 : 1;
}
public void RestartGame()
{
Time.timeScale = 1;
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
public void QuitGame()
{
Application.Quit();
}
}