Class AIDistanceCondition
Condition that evaluates based on the distance between the NPC and its current target.
Examples:
- "Distance ≤ 3" → in melee range, use a cleave ability.
- "Distance ≥ 15" → far away, use a snipe ability.
[CreateAssetMenu(fileName = "New AI Distance Condition", menuName = "FishMMO/Character/NPC/AI/Conditions/Distance Condition")]
public class AIDistanceCondition : AIAbilityCondition
- Inheritance
-
ObjectScriptableObjectAIDistanceCondition
- 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
Distance
Distance threshold in world units.
[Tooltip("Distance threshold in world units.")]
public float Distance
Field Value
Operator
The comparison operator to use against the distance value.
[Tooltip("How to compare the distance value.")]
public ComparisonOperator Operator
Field Value
Methods
Evaluate(AIController, ICharacter, ICharacter)
Evaluates whether the current distance to the target satisfies the comparison. Returns false if there is no target.
public override bool Evaluate(AIController controller, ICharacter self, ICharacter target)
Parameters
controllerAIControllerThe AI controller of the NPC.
selfICharacterThe NPC's character.
targetICharacterThe NPC's current target (may be null).
Returns
- bool
True if the distance comparison holds, false if there is no target.