Files
2024-11-20 15:21:28 +01:00

32 lines
987 B
C#

using UnityEngine;
namespace Invector.vCharacterController.AI.FSMBehaviour
{
#if UNITY_EDITOR
[vFSMHelpbox("Check if the current target with a HealthController is Dead", UnityEditor.MessageType.Info)]
#endif
public class AICheckTargetDead : vStateDecision
{
public override string categoryName
{
get { return ""; }
}
public override string defaultName
{
get { return "Check if Target is Dead"; }
}
public override bool Decide(vIFSMBehaviourController fsmBehaviour)
{
return TargetIsDead(fsmBehaviour);
}
protected virtual bool TargetIsDead(vIFSMBehaviourController fsmBehaviour)
{
if (fsmBehaviour == null) return true;
Transform target = fsmBehaviour.aiController.currentTarget;
if (target == null) return true;
return fsmBehaviour.aiController.currentTarget.isDead;
}
}
}