Unity_lab3/Unity3_lab/Assets/Scripts/LoseScript.cs

55 lines
1.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<BallController>() != null )
{
ShowLoseMenu();
}
}
}