Files

36 lines
1.3 KiB
C#

namespace Invector.vCharacterController.AI.FSMBehaviour
{
#if UNITY_EDITOR
[vFSMHelpbox("Check if the AI Controller received a specific amount of Damage or Hits", UnityEditor.MessageType.Info)]
#endif
public class vAICheckMassiveDamage : vStateDecision
{
public override string categoryName
{
get { return "Health/"; }
}
public override string defaultName
{
get { return "Check Damage Amount"; }
}
[vToggleOption("Compare Value", "Less", "Greater or Equals")]
public bool greater = false;
[vToggleOption("Compare Type", "Total Hits", "Total Damage")]
public bool massiveValue = true;
public int valueToCompare;
public override bool Decide(vIFSMBehaviourController fsmBehaviour)
{
return (HasDamage(fsmBehaviour));
}
protected virtual bool HasDamage(vIFSMBehaviourController fsmBehaviour)
{
if (fsmBehaviour.aiController.receivedDamage == null) return false;
var value = massiveValue ? fsmBehaviour.aiController.receivedDamage.massiveValue : fsmBehaviour.aiController.receivedDamage.massiveCount;
return (greater ? (value >= valueToCompare) : (value < valueToCompare));
}
}
}