36 lines
1.3 KiB
C#
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));
|
|
}
|
|
}
|
|
}
|