Здравствуйте, у меня такая проблема - не работает код. Дело в том, что у меня есть пуля и цель, когда пуля сталкивается с целью, то у цели должно отниматься "здоровье". Вроде как все должно работать: на пуле висят ригидбоди 2Д, колайдер 2Д и скрипт, на цели тоже висит колайдер 2Д и скрипт. Пули спокойно сталкиваются с объектом, но количество здоровья цели не меняется, скрипт не срабатывает
Код цели:Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Target : MonoBehaviour
{
public float Health = 100.0f;
public void Hit(float damage)
{
Health = Health - damage;
}
public void Update()
{
if (Health <= 0)
{
Destroy(gameObject);
}
}
}
Код пули:Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bullet : MonoBehaviour
{
public float Speed = 6.0f;
public float Strength = 10.0f;
void OnCollisionEnter(Collision collision)
{
Target target = collision.gameObject.GetComponent<Target>();
target.Hit(Strength);
Destroy(gameObject);
}
void Update()
{
transform.Translate(Vector3.up * Time.deltaTime * Speed, Space.Self);
}
}
Заранее спасибо