Итак, я создал этот тестовый графический интерфейс, который отображает игру поверх экрана, когда прожектор противника достигает вас.но когда это происходит, Unity аварийно завершает работу и замечает ошибку
StackOverflowException: The requested operation caused a stack overflow.
Вот мой код сбоя:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class GameUI : MonoBehaviour {
public GameObject gameLoseUI;
// public GameObject playerDiedUI;
//public GameObject noEnergyUI;
bool gameIsOver;
// Use this for initialization
void Start () {
Guard.OnGuardHasSpottedPlayer += ShowGameLoseUI;
}
// Update is called once per frame
void Update () {
/*if (gameIsOver)
{if (Input.GetKeyDown(KeyCode.Space))
{
SceneManager.LoadScene(0);
}
}*/
}
void ShowGameLoseUI()
{
OnGameOver(gameLoseUI);
}
void OnGameOver(GameObject gameoverUI)
{
gameLoseUI.SetActive(true);
gameIsOver = true;
Guard.OnGuardHasSpottedPlayer += ShowGameLoseUI;
}
}
Я думал, что ошибка может быть в пустом обновлении, но единство продолжает падать даже приэтот откомментированный фрагмент.Как я могу решить эту проблему?