/
darov
/
Platformer
Обзор
Документация
Войти
/
darov
/
Platformer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Assets/Scripts/Pauser.cs
43 строки
1 KB
Roman Danilov
comment
15 окт 2025, 07:53
15 окт 2025, 07:53
80f1cc3
Код
Авторство
О чём код?
using System; using UnityEngine; public class Pauser : MonoBehaviour, IPauser { [SerializeField] private GameObject _pausePanel; [SerializeField] private GameObject _playerCharacter; private IInputHandler _inputHandler; private bool _isPausing = false; public bool IsPausePossible { get; set; } private void Start() { _pausePanel.SetActive(_isPausing); SwitchTime(_isPausing); _inputHandler = _playerCharacter.GetComponent<IInputHandler>(); _inputHandler.CancelPressed += SwitchPause; IsPausePossible = true; } private void OnDestroy() { _inputHandler.CancelPressed -= SwitchPause; } public void SwitchPause() { if (IsPausePossible) { _isPausing = !_isPausing; _pausePanel.SetActive(_isPausing); SwitchTime(_isPausing); } } private void SwitchTime(bool isPausing) { float timeScale = Convert.ToSingle(!isPausing); Time.timeScale = timeScale; Time.fixedDeltaTime = Time.timeScale * 0.02f; } }