Table of Contents

Class AIDistanceCondition

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

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
Object
ScriptableObject
AIDistanceCondition
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

Distance

Distance threshold in world units.

[Tooltip("Distance threshold in world units.")]
public float Distance

Field Value

float

Operator

The comparison operator to use against the distance value.

[Tooltip("How to compare the distance value.")]
public ComparisonOperator Operator

Field Value

ComparisonOperator

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

controller AIController

The AI controller of the NPC.

self ICharacter

The NPC's character.

target ICharacter

The NPC's current target (may be null).

Returns

bool

True if the distance comparison holds, false if there is no target.