30 lines
930 B
C#
30 lines
930 B
C#
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);
|
|
}
|
|
}
|
|
}
|
|
} |