tommom3
@tommom3
Я живу на планете Земля

Как настроить Singleton?

Я сделал С# класс 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 и останавливает препятствия, а игрок падает. Но проблема в том, что первые две секунды все идет нормально, а потом юнити полностью становится не рабочим, и его надо выключать через менеджер задач... В чем может быть ошибка?
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos Куратор тега Unity
Вряд ли тут виноват синглтон. Наверняка какая то фигня в апдейте происходит
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы