Files
dungeons/Assets/Scripts/Components/ProcessHitComponent.cs
2024-08-10 19:53:06 +02:00

27 lines
626 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public class ProcessHitComponent : MonoBehaviour
{
private HashSet<GameObject> ignored = new HashSet<GameObject>();
public UnityEvent<int> onTakeDamage;
public void Process(OnHitEvent.Args args)
{
var source = args.source;
if (ignored.Contains(source)) return;
var damage = args.damage.value;
var multiplier = args.hitMultiplier;
var finalDamage = damage * multiplier;
onTakeDamage.Invoke((int)finalDamage);
ignored.Add(args.source);
}
}