using UnityEngine; public class LoseScript : MonoBehaviour { // 1. Паттерн Одиночки (Singleton) - делает скрипт глобально доступным public static LoseScript Instance { get; private set; } // Ссылка на объект меню, которую нужно установить в Инспекторе [SerializeField] private GameObject loseMenuUI; void Awake() { // Гарантируем, что в сцене будет только один экземпляр if (Instance != null && Instance != this) { Destroy(this); } else { Instance = this; } } void Start() { // Сбрасываем время при запуске сцены Time.timeScale = 1f; if (loseMenuUI != null) { // Скрываем меню при старте loseMenuUI.SetActive(false); } } // Этот метод будет вызываться из любого места, чтобы показать меню public void ShowLoseMenu() { if (loseMenuUI != null) { loseMenuUI.SetActive(true); Time.timeScale = 0f; // Замораживаем игру Debug.Log("Игрок проиграл! Активировано меню проигрыша."); } } // Логика проигрыша при столкновении с этим объектом (например, пол проигрыша) private void OnCollisionEnter(Collision collision) { if (collision.gameObject.GetComponent() != null ) { ShowLoseMenu(); } } }