Skip to content

Class: EntityAI ​

csharp
[HideMonoScript]
[LogicUpdatePriority(-301)]
public class EntityAI : EntityComponent, ILogicUpdate

Fields ​

NameDeclarationDescription
AggroPropagationDelayMaxpublic const float AggroPropagationDelayMax = 0.7
AggroPropagationDelayMinpublic const float AggroPropagationDelayMin = 0.1
AggroPropagationRangepublic const float AggroPropagationRange = 17
AITickCongestionThresholdpublic const int AITickCongestionThreshold = 5000
BossAITickIntervalpublic const float BossAITickInterval = 0.25
BossDetectionRangepublic const float BossDetectionRange = 25
CombatAITickIntervalpublic const float CombatAITickInterval = 0.5
customBehaviorspublic CustomAIBehaviors customBehaviorsYou can customize AI behavior of this entity externally using this.Available only on server. Null on clients.
DefaultDetectionRangepublic const float DefaultDetectionRange = 15
disableAIpublic bool disableAI
DisableAIpublic static bool DisableAI
excludeFromAutoTargetingpublic bool excludeFromAutoTargeting
IdleAITickIntervalpublic const float IdleAITickInterval = 1
LoseTargetedEnemyTimepublic const float LoseTargetedEnemyTime = 5
PositionSampleCountpublic static int PositionSampleCount
PositionSampleIntervalpublic static float PositionSampleInterval
PositionSampleLagBehindFramespublic static int PositionSampleLagBehindFrames
predictionStrengthOverride`[NonSerialized]
public Func<float> predictionStrengthOverride`
RetargetingDistanceFuzzinesspublic const float RetargetingDistanceFuzziness = 0.3
RetargetingMaxTimepublic const float RetargetingMaxTime = 4
RetargetingMinTimepublic const float RetargetingMinTime = 1
WanderIntervalMaxpublic const float WanderIntervalMax = 15
WanderIntervalMinpublic const float WanderIntervalMin = 4
WanderSpeedMultiplierpublic const float WanderSpeedMultiplier = 0.6

Properties ​

NameDeclarationDescription
contextpublic EntityAIContext context { get; }
detectionRangepublic float detectionRange { get; }
estimatedVelocitypublic Vector3 estimatedVelocity { get; }Available only on server.
estimatedVelocityUnclampedpublic Vector3 estimatedVelocityUnclamped { get; }Available only on server.
isAITickingpublic bool isAITicking { get; set; }

Methods ​

Aggro(Entity, bool) ​

csharp
public void Aggro(Entity target, bool doPropagation = false)

Parameters:

NameTypeDescription
targetEntity
doPropagationbool

CallAIUpdateImmediately() ​

csharp
public void CallAIUpdateImmediately()

Helper_CanBeCast(AbilityTrigger) ​

csharp
public bool Helper_CanBeCast(AbilityTrigger abil)

Parameters:

NameTypeDescription
abilAbilityTrigger

Returns: bool

Helper_CanBeCast&lt;T&gt;() ​

csharp
public bool Helper_CanBeCast<T>() where T : AbilityTrigger

Parameters:

NameTypeDescription
``T

Returns: bool

Helper_CastAbility&lt;T&gt;(CastInfo) ​

csharp
public void Helper_CastAbility<T>(CastInfo info) where T : AbilityTrigger

Parameters:

NameTypeDescription
infoCastInfo
``T

Helper_CastAbilityAuto(AbilityTrigger) ​

Casts this ability with automatically populated CastInfo.This will select a target and then use ability trigger's prediction data.

csharp
public bool Helper_CastAbilityAuto(AbilityTrigger abil)

Parameters:

NameTypeDescription
abilAbilityTrigger

Returns: bool

Helper_CastAbilityAuto&lt;T&gt;() ​

Casts this ability with automatically populated CastInfo.This will select a target and then use ability trigger's prediction data.

csharp
public void Helper_CastAbilityAuto<T>() where T : AbilityTrigger

Parameters:

NameTypeDescription
``T

Helper_ChaseTarget() ​

Chase targeted enemy. Note this will not interrupt ongoing chase if it's already chasing the same target.

csharp
public void Helper_ChaseTarget()

Helper_GetAbility&lt;T&gt;() ​

Get ability of given type. Supports normal abilities and attack trigger.

csharp
public T Helper_GetAbility<T>() where T : AbilityTrigger

Parameters:

NameTypeDescription
``T

Returns: T

Helper_IsTargetInRange(AbilityTrigger) ​

csharp
public bool Helper_IsTargetInRange(AbilityTrigger abil)

Parameters:

NameTypeDescription
abilAbilityTrigger

Returns: bool

Helper_IsTargetInRange&lt;T&gt;() ​

csharp
public bool Helper_IsTargetInRange<T>() where T : AbilityTrigger

Parameters:

NameTypeDescription
``T

Returns: bool

Helper_IsTargetInRangeOfAttack() ​

csharp
public bool Helper_IsTargetInRangeOfAttack()

Returns: bool

Helper_TryGetCastInfoAuto(AbilityTrigger, out CastInfo) ​

csharp
public bool Helper_TryGetCastInfoAuto(AbilityTrigger abil, out CastInfo info)

Parameters:

NameTypeDescription
abilAbilityTrigger
infoCastInfo

Returns: bool

Helper_TryGetCastInfoAuto&lt;T&gt;(out CastInfo) ​

csharp
public bool Helper_TryGetCastInfoAuto<T>(out CastInfo info) where T : AbilityTrigger

Parameters:

NameTypeDescription
infoCastInfo
``T

Returns: bool

LogicUpdate(float) ​

csharp
public override void LogicUpdate(float dt)

Parameters:

NameTypeDescription
dtfloat

OnStartServer() ​

csharp
public override void OnStartServer()

OnStopServer() ​

csharp
public override void OnStopServer()

Maintained by the Shape of Dreams Modding Community