private void Awake()

    {

        if (_GameManager == null)

            _GameManager = this;

        else if (_GameManager != this)

            Destroy(gameObject);

        DontDestroyOnLoad(gameObject);

        boardScript = GetComponent<BoardManager>();


        enemies = new List<Enemy>();

        

        InitGame();

    }


    private void Start()

    {

        SceneManager.sceneLoaded += OnSceneLoaded;

    }


    void OnSceneLoaded(Scene scene, LoadSceneMode leve)

    {

        level++;

        InitGame();

    }


    private void OnDisable()

    {

        SceneManager.sceneLoaded -= OnSceneLoaded;

        Destroy(gameObject);

    }


    void InitGame()

    {

        levelImage = GameObject.Find("LevelImage");

        levelText = GameObject.Find("LevelText").GetComponent<Text>();

        levelText.text = "Floor " + level;

        levelImage.SetActive(true);

        Invoke("HideLevelImage", levelStartDelay);


        boardScript.SetupScene(level);

    }


    private void HideLevelImage()

    {

        levelImage.SetActive(false);

    }


    void Update()

    {

        if (GameObject.FindGameObjectWithTag("Enemy") == null)

        {

            Invoke("Restart", restartLevelDelay);

        }

    }


    private void Restart()

    {

        SceneManager.LoadScene("PlayScene");

    }


굵게 칠한곳이 문제인데 스테이지 생성후에 enemy 태그를 가진 오브젝트를 다 제거하면

Restart를 시행하고 enemy가 다시 생겨서 실행이 안되야 되는데

계속 Restart가 시행됨;;;

if문이 문제인거 같은데 도움좀....