using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Serialization;

public class HitBox : MonoBehaviour
{
    [System.Serializable]
    public class DamagedEvent : UnityEvent<object> { }
    [FormerlySerializedAs("onDamaged")]
    [SerializeField]
    [Space(10)]
    private DamagedEvent OnDamaged = new DamagedEvent();

    public void Hit(object data)
    {
        HitCheck hit = (HitCheck)data;

        OnHited(hit);
        OnDamaged.Invoke(hit);
    }

    [Space(10)]
    public GameObject prefabEffDamage;
    void OnHited(HitCheck hit)
    {
        if (prefabEffDamage != null)
        {
            Transform eff = hit.owner.map.ObjectCreate(prefabEffDamage, hit.transform, Vector3.one, Vector3.zero).transform;

            eff.transform.SetParent(null);
            eff.transform.position = hit.transform.position;
        }
    }
}