using RebootKit.Engine.Main; using RebootKit.Engine.Simulation; using RebootReality.jelycho.Damage; using RebootReality.jelycho.Main; using Unity.Mathematics; using UnityEngine; using UnityEngine.Assertions; namespace RebootReality.jelycho.Enemies.Zombie { public class ZombieHurtbox : MonoBehaviour, IHurtbox { public ZombieActor owner; [SerializeField] ZombieBodyPartType m_BodyPart = ZombieBodyPartType.Body; void Awake() { Assert.IsNotNull(owner); } public void ReceiveDamage(Actor attacker, ulong damage, float3 worldHitPos) { if (!owner.HasBodyPart(m_BodyPart)) { return; } owner.ReceiveBodyPartDamage(damage, m_BodyPart); if (RR.World.Context is WorldContext worldContext) { worldContext.FeedbacksManager.SpawnBloodSplash(worldHitPos); } } } }