Доброго времени суток,я сделал экран поражения в канвасе,когда у игрока ноль здоровья(он появляется).У меня возникла проблема с уничтожением врага(когда у него здоровье <0,то он не исчезает из игры,а здоровье у него в минус уходит и появляется ошибка мол объект не назначен) так как к нему скрипт здоровья так же привязан,вот скрипт здоровья:
public class Health : MonoBehaviour
{
public GameObject GameOverScreen;
[SerializeField] private int health;
public Action <int , GameObject> OnTakeHit;
public int CurrentHealth
{
get{return health;}
}
public int health1
{
get {return health;}
set
{
if (value >200)
health =value;
}
}
private void Start()
{
GameManager.Instance.healthContainer.Add(gameObject,this);
GameManager.Instance.collisionContainer.Add(gameObject,this);
}
public void TakeHit(int damage,GameObject attacker)
{
health -= damage;
if(OnTakeHit!=null)
OnTakeHit(damage, attacker);
if (health <= 0)
{
if (!GameOverScreen.activeSelf)
{
GameOverScreen.SetActive(true);
GetComponent<Player>().speed = 0;
}
health = 0;
Destroy(gameObject);
Time.timeScale = 0;
}
}
У меня был вариант написать отдельный скрипт здоровья для врага,но так как у меня всё здоровье зависит от GameManager,такой вариант мне не подходит...Нужно чтобы враг уничтожался без зависимости от объекта экрана поражения.Можете подсказать как исправить это недоразумение?