Я сделал С# класс GameManager:
spoiler
public class GameManager : MonoBehaviour
{
public static GameManager instance { get; private set; }
public bool GameOver = false;
private void Awake()
{
if (instance == null)
{
instance = this;
DontDestroyOnLoad(this.gameObject);
return;
}
Destroy(this.gameObject);
}
public void GameIsOver()
{
instance.GameOver = true;
}
public void StartGame()
{
instance.GameOver = false;
}
}
В классе игрока при столкновении я вызываю метод GameIsOver():
spoiler
private void OnCollisionEnter2D(Collision2D collision)
{
GameManager.instance.GameIsOver();
SwimButton.SetActive(true);
MenuButton.SetActive(true);
}
Когда игрок сталкивается с объектом, игра проверяет переменную GameOver и останавливает препятствия, а игрок падает. Но проблема в том, что первые две секунды все идет нормально, а потом юнити полностью становится не рабочим, и его надо выключать через менеджер задач... В чем может быть ошибка?