Table of Contents

Class AIConditionNode

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

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
Object
ScriptableObject
AIConditionNode
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.name
Object.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

AIAbilityCondition

Methods

Evaluate(AIController)

Evaluates the condition and returns Success or Failure.

public override AINodeResult Evaluate(AIController controller)

Parameters

controller AIController

The AI controller of the evaluating NPC.

Returns

AINodeResult

Success if the condition evaluates to true, Failure otherwise.