using UnityEngine; namespace Code.GameplayServices { public class GameplayManager : MonoBehaviour { public static GameplayManager Instance { get; private set; } private bool _onPause; public bool OnPause => _onPause; [SerializeField] [Range(0f, 30f)] private float gameSpeed; private float _currentGameSpeed; public float GameSpeed => _currentGameSpeed; private void Awake() { Instance = this; _currentGameSpeed = gameSpeed; } public void RestartGame() { ResetGame(); ResumeGame(); } public void PlayerDead() { PauseGame(); } public void PauseGame() { _onPause = true; _currentGameSpeed = 0f; } public void ResumeGame() { _onPause = false; _currentGameSpeed = gameSpeed; } private void ResetGame() { PassingObjectsManager.Instance.ResetObjects(); PlayerScoreService.Instance.ResetScore(); } } }