34 lines
828 B
C#
34 lines
828 B
C#
using UnityEngine;
|
||
using UnityEngine.Events;
|
||
|
||
[RequireComponent(typeof(Collider), typeof(Rigidbody))]
|
||
public class Damager : MonoBehaviour
|
||
{
|
||
[SerializeField] private float Damage;
|
||
[SerializeField] private GameObject ImpactEffect;
|
||
private GameObject Owner;
|
||
|
||
public void Initialize(GameObject owner, float damage)
|
||
{
|
||
Owner = owner;
|
||
Damage = damage;
|
||
}
|
||
|
||
|
||
private void OnTriggerEnter(Collider other)
|
||
{
|
||
if (other.TryGetComponent<Hitbox>(out var hitbox))
|
||
{
|
||
//Коллизия с собой
|
||
if (hitbox.Owner == this.Owner) return;
|
||
|
||
hitbox.TakeDamage(Damage);
|
||
}
|
||
|
||
if(ImpactEffect != null)
|
||
Instantiate(ImpactEffect, transform.position, Quaternion.identity);
|
||
|
||
Destroy(gameObject);
|
||
}
|
||
}
|