Files
dungeons/Assets/Scripts/Components/DetectHitComponent.cs

35 lines
772 B
C#

using Sirenix.OdinInspector;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public class DetectHitComponent : MonoBehaviour
{
private static float[] hitMultipliers = new float[] {
0.5f,
0.75f,
1,
1.25f,
1.5f,
2
};
[SerializeField]
[ValueDropdown("hitMultipliers")]
private float hitMultiplier;
public OnHitEvent onHit;
private void OnCollisionEnter(Collision collision)
{
var gameObject = collision.gameObject;
var damageDealer = gameObject.GetComponent<DamageDealerComponent>();
if (damageDealer == null) return;
onHit.Invoke(new(damageDealer.damage, hitMultiplier, gameObject));
}
}