Class AIConditionNode
Leaf node that evaluates an AIAbilityCondition and returns Success or Failure.
Use case: "Is the NPC's health below 30%?"
The existing AIAbilityCondition system is reused so designers don't need to create duplicate condition assets. Any condition that works in an ability rotation also works as a behavior tree guard.
[CreateAssetMenu(fileName = "New AI Condition Node", menuName = "FishMMO/Character/NPC/AI/Behavior Tree/Condition Node")]
public class AIConditionNode : AIBehaviorNode
- Inheritance
-
ObjectScriptableObjectAIConditionNode
- Inherited Members
-
ScriptableObject.SetDirty()ScriptableObject.CreateInstance<T>()Object.GetEntityId()Object.GetInstanceID()Object.GetHashCode()Object.InstantiateAsync<T>(T)Object.InstantiateAsync<T>(T, Transform)Object.InstantiateAsync<T>(T, Vector3, Quaternion)Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)Object.Instantiate(Object, Vector3, Quaternion)Object.Instantiate(Object, Vector3, Quaternion, Transform)Object.Instantiate(Object)Object.Instantiate(Object, Scene)Object.Instantiate<T>(T, InstantiateParameters)Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)Object.Instantiate(Object, Transform)Object.Instantiate<T>(T)Object.Instantiate<T>(T, Vector3, Quaternion)Object.Instantiate<T>(T, Vector3, Quaternion, Transform)Object.Instantiate<T>(T, Transform)Object.Destroy(Object)Object.DestroyImmediate(Object)Object.DontDestroyOnLoad(Object)Object.DestroyObject(Object)Object.FindObjectsOfType<T>()Object.FindObjectsByType<T>(FindObjectsSortMode)Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)Object.FindObjectOfType<T>()Object.FindFirstObjectByType<T>()Object.FindAnyObjectByType<T>()Object.FindFirstObjectByType<T>(FindObjectsInactive)Object.FindAnyObjectByType<T>(FindObjectsInactive)Object.FindObjectsByType<T>()Object.FindObjectsByType<T>(FindObjectsInactive)Object.ToString()Object.nameObject.hideFlags
Fields
Condition
The condition to evaluate. Uses the same condition assets as ability rotations.
[Tooltip("The condition to evaluate. Uses the same condition assets as ability rotations.")]
public AIAbilityCondition Condition
Field Value
Methods
Evaluate(AIController)
Evaluates the condition and returns Success or Failure.
public override AINodeResult Evaluate(AIController controller)
Parameters
controllerAIControllerThe AI controller of the evaluating NPC.
Returns
- AINodeResult
Success if the condition evaluates to true, Failure otherwise.