28 lines
845 B
C#
28 lines
845 B
C#
using RebootKit.Engine.Main;
|
|
using RebootKit.Engine.Simulation;
|
|
using Unity.Mathematics;
|
|
using UnityEngine;
|
|
using UnityEngine.Assertions;
|
|
|
|
namespace RebootReality.jelycho.Enemies {
|
|
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.ReceiveDamage(damage, m_BodyPart);
|
|
|
|
if (RR.World.Context is WorldContext worldContext) {
|
|
worldContext.FeedbacksManager.SpawnBloodSplash(worldHitPos);
|
|
}
|
|
}
|
|
}
|
|
} |