он должен отвечать за появление панели победы после того как на карте не остается врагов. я прикрепляю этот скрипт на game Manager
и вставляю в скрипт префаб врага начинаю игру убиваю врага префаб которого я вставил в поле скриптаб и панель победы вылазиет сразу после его смерти а не после смерти всех врагов мучаюсь весь день и не понимаю как исправить помогите пожалуйста
Проблема заключается в том, что ваш код проверяет только один объект врага на наличие, а не всех врагов на сцене. Для решения этой проблемы вам нужно изменить код следующим образом:
```csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Win : MonoBehaviour
{
[SerializeField] public GameObject[] Enemies;
[SerializeField] GameObject PanelWin;
// Start is called before the first frame update
void Start()
{
PanelWin.SetActive(false);
}
// Update is called once per frame
void Update()
{
bool allEnemiesDead = true;
foreach (GameObject enemy in Enemies)
{
if (enemy != null)
{
allEnemiesDead = false;
break;
}
}
В этом коде вы используете массив объектов `Enemies` для хранения всех врагов на сцене. Затем вы проверяете каждого врага в массиве на наличие. Если хотя бы один враг не существует, то переменная `allEnemiesDead` устанавливается в `false`. Если все враги мертвы, то панель победы активируется.
Убедитесь, что в поле `Enemies` в инспекторе вы добавили все враги на сцене.