Skip to content

Class: EntityControl ​

csharp
[HideMonoScript]
[RequireComponent(typeof(EntityTransformSync))]
public class EntityControl : EntityComponent, ILogicUpdate, ICleanup

Fields ​

NameDeclarationDescription
attackTarget`[NonSerialized]
public Entity attackTarget`Available on server.
baseAgentSpeedpublic float baseAgentSpeed
ClientEvent_OnDisplacementCanceledpublic SafeAction<Displacement> ClientEvent_OnDisplacementCanceled
ClientEvent_OnDisplacementFinishedpublic SafeAction<Displacement> ClientEvent_OnDisplacementFinished
ClientEvent_OnDisplacementStartedpublic SafeAction<Displacement> ClientEvent_OnDisplacementStarted
ClientEvent_OnInnerRadiusChangedpublic SafeAction<float, float> ClientEvent_OnInnerRadiusChanged
ClientEvent_OnOuterRadiusChangedpublic SafeAction<float, float> ClientEvent_OnOuterRadiusChanged
ClientEvent_OnTeleportpublic SafeAction<Vector3, Vector3> ClientEvent_OnTeleport
CommandStallTimeoutpublic const float CommandStallTimeout = 0.15
lastMoveTime`[NonSerialized]
public float lastMoveTime`Available on server.
normalizedAccelerationpublic float normalizedAcceleration
obstacleAvoidancepublic bool obstacleAvoidance
ongoingChannelspublic List<Channel> ongoingChannelsList of ongoingChannels on this entity.Only valid on server.
QueuedActionExpireTimepublic const float QueuedActionExpireTime = 0.2
rotateSpeedpublic float rotateSpeed
rotationSmoothTimepublic float rotationSmoothTime
SyncAgentVelocityLifetimepublic static float SyncAgentVelocityLifetime
SyncExtrapolateMaxTimepublic static float SyncExtrapolateMaxTime
SyncExtrapolateStrengthpublic static float SyncExtrapolateStrength
SyncFixSmoothTimepublic static float SyncFixSmoothTime
SyncFixSnapshotLifetimepublic static float SyncFixSnapshotLifetime
SyncFixWarpDistancepublic static float SyncFixWarpDistance

Properties ​

NameDeclarationDescription
agentPositionpublic Vector3 agentPosition { get; }
agentVelocitypublic Vector3 agentVelocity { get; }Agent velocity of this entity. Available everywhere.
canDestroypublic bool canDestroy { get; }
currentMaxAgentSpeedpublic float currentMaxAgentSpeed { get; }
desiredAnglepublic float desiredAngle { get; }
desiredRotationpublic Quaternion desiredRotation { get; }
forceWalkingpublic bool forceWalking { get; }
freeMovementpublic bool freeMovement { get; set; }Disables agent.
innerRadiuspublic float innerRadius { get; set; }
isAirbornepublic bool isAirborne { get; }Is this entity doing non-friendly displacement?
isClientSideMovementpublic bool isClientSideMovement { get; }Is client-side movement enabled for this entity?
isControlReversedpublic bool isControlReversed { get; set; }This only has effect on player-controlled entities.
isDashingpublic bool isDashing { get; }Is this entity doing friendly displacement?
isDisplacingpublic bool isDisplacing { get; }
isDodgingpublic bool isDodging { get; }Is this entity doing a displacement from dodge ability? e.g. Ai_GenericDodge
isDoingMoveToActionpublic bool isDoingMoveToAction { get; }Available on movement processors and server
isGamepadRotationLockedpublic bool isGamepadRotationLocked { get; }Is gamepad look rotation locked?
isLocalMovementProcessorpublic bool isLocalMovementProcessor { get; }Is local machine liable for processing movements?
isWalkingpublic bool isWalking { get; }Is this entity walking? Available everywhere.
ongoingDisplacementpublic Displacement ongoingDisplacement { get; }
outerRadiuspublic float outerRadius { get; set; }
overridenDesiredAnglepublic float? overridenDesiredAngle { get; }
proxyColliderpublic ProxyCollider proxyCollider { get; }
queuedActionspublic IReadOnlyList<ActionBase> queuedActions { get; }
walkStrengthpublic float walkStrength { get; }Can have values of range 0 ~ 1 depending on how fast it is walking. Available everywhere.

Methods ​

Attack(Entity, bool) ​

csharp
public void Attack(Entity target, bool doChase)

Parameters:

NameTypeDescription
targetEntity
doChasebool

AttackMove(Vector3, bool) ​

csharp
public void AttackMove(Vector3 destination, bool useDistanceFromDestination = false)

Parameters:

NameTypeDescription
destinationUnityEngine.Vector3
useDistanceFromDestinationbool

CancelOngoingChannels() ​

csharp
public void CancelOngoingChannels()

CancelOngoingDisplacement() ​

csharp
public void CancelOngoingDisplacement()

Cast(AbilityTrigger, CastInfo, bool) ​

csharp
public void Cast(AbilityTrigger trigger, CastInfo info, bool allowMoveToCast = true)

Parameters:

NameTypeDescription
triggerAbilityTrigger
infoCastInfo
allowMoveToCastbool

Cast(AbilityTrigger, Entity, bool) ​

csharp
public void Cast(AbilityTrigger trigger, Entity predictTarget, bool allowMoveToCast = true)

Parameters:

NameTypeDescription
triggerAbilityTrigger
predictTargetEntity
allowMoveToCastbool

Cast(AbilityTrigger, int, CastInfo, bool, bool) ​

Provide -1 forconfigIndexto denote ANY config index.This will cause undefined behavior if cast method differs between configs!!

csharp
public void Cast(AbilityTrigger trigger, int configIndex, CastInfo info, bool allowMoveToCast = true, bool skipRangeCheck = false)

Parameters:

NameTypeDescription
triggerAbilityTrigger
configIndexint
infoCastInfo
allowMoveToCastbool
skipRangeCheckbool

Cast(AbilityTrigger, int, Entity, bool) ​

csharp
public void Cast(AbilityTrigger trigger, int configIndex, Entity predictTarget, bool allowMoveToCast = true)

Parameters:

NameTypeDescription
triggerAbilityTrigger
configIndexint
predictTargetEntity
allowMoveToCastbool

ClearActionQueue() ​

csharp
public void ClearActionQueue()

ClearMovement() ​

csharp
public void ClearMovement()

CmdAttack(Entity, bool) ​

Provide null to clear attack target.

csharp
public void CmdAttack(Entity target, bool doChase)

Parameters:

NameTypeDescription
targetEntity
doChasebool

CmdAttackMove(Vector3, bool) ​

csharp
public void CmdAttackMove(Vector3 destination, bool useDistanceFromDestination)

Parameters:

NameTypeDescription
destinationUnityEngine.Vector3
useDistanceFromDestinationbool

CmdCancelOngoingChannels() ​

csharp
public void CmdCancelOngoingChannels()

CmdCast(AbilityTrigger, int, CastInfo, bool, bool) ​

csharp
public void CmdCast(AbilityTrigger trigger, int configIndex, CastInfo info, bool allowMoveToCast, bool skipRangeCheck)

Parameters:

NameTypeDescription
triggerAbilityTrigger
configIndexint
infoCastInfo
allowMoveToCastbool
skipRangeCheckbool

CmdClearMovement() ​

csharp
public void CmdClearMovement()

CmdInteract(IInteractable, bool, bool) ​

csharp
public void CmdInteract(IInteractable interactable, bool isAlt, bool isMouse)

Parameters:

NameTypeDescription
interactableIInteractable
isAltbool
isMousebool

CmdLookInDirection(Vector3) ​

csharp
public void CmdLookInDirection(Vector3 dir)

Parameters:

NameTypeDescription
dirUnityEngine.Vector3

CmdMoveToDestination(Vector3, bool, float) ​

csharp
public void CmdMoveToDestination(Vector3 destination, bool immediately, float speedMult = 1)

Parameters:

NameTypeDescription
destinationUnityEngine.Vector3
immediatelybool
speedMultfloat

CmdMoveWithDirection(Vector3) ​

csharp
public void CmdMoveWithDirection(Vector3 direction)

Parameters:

NameTypeDescription
directionUnityEngine.Vector3

CmdStop() ​

csharp
public void CmdStop()

CreateTransformABTo01(Vector2, Vector2) ​

csharp
public static Matrix4x4 CreateTransformABTo01(Vector2 a, Vector2 b)

Parameters:

NameTypeDescription
aUnityEngine.Vector2
bUnityEngine.Vector2

Returns: UnityEngine.Matrix4x4

DecrementBlockCounters(BlockedAction, bool) ​

csharp
public void DecrementBlockCounters(Channel.BlockedAction action, bool delayOneFrame = true)

Parameters:

NameTypeDescription
actionChannel.BlockedAction
delayOneFramebool

DisobeyBlock(BlockableAction) ​

Disobey blocks for certain action, canceling related channels.

csharp
public void DisobeyBlock(EntityControl.BlockableAction action)

Parameters:

NameTypeDescription
actionEntityControl.BlockableAction

FrameUpdate() ​

csharp
public override void FrameUpdate()

GetPointOnBezierCurve(Vector2, Vector2, Vector2, Vector2, float) ​

csharp
public static Vector2 GetPointOnBezierCurve(Vector2 p0, Vector2 p1, Vector2 p2, Vector2 p3, float t)

Parameters:

NameTypeDescription
p0UnityEngine.Vector2
p1UnityEngine.Vector2
p2UnityEngine.Vector2
p3UnityEngine.Vector2
tfloat

Returns: UnityEngine.Vector2

IncrementBlockCounters(BlockedAction) ​

csharp
public void IncrementBlockCounters(Channel.BlockedAction action)

Parameters:

NameTypeDescription
actionChannel.BlockedAction

Interact(IInteractable, bool, bool) ​

csharp
public void Interact(IInteractable interactable, bool isAlt, bool isMouse)

Parameters:

NameTypeDescription
interactableIInteractable
isAltbool
isMousebool

IsActionBlocked(BlockableAction) ​

Is the entity allowed to do a certain action? If not, the action will be postponed until the block is resolved.Available everywhere.

csharp
public EntityControl.BlockStatus IsActionBlocked(EntityControl.BlockableAction action)

Parameters:

NameTypeDescription
actionEntityControl.BlockableAction

Returns: EntityControl.BlockStatus

LockGamepadRotation() ​

Lock gamepad look rotation of this entity. You must call UnlockLookRotation afterwards.

csharp
public void LockGamepadRotation()

LogicUpdate(float) ​

csharp
public override void LogicUpdate(float dt)

Parameters:

NameTypeDescription
dtfloat

MoveToDestination(Vector3, bool, float) ​

csharp
public void MoveToDestination(Vector3 destination, bool immediately, float speedMult = 1)

Parameters:

NameTypeDescription
destinationUnityEngine.Vector3
immediatelybool
speedMultfloat

OnCleanup() ​

csharp
public void OnCleanup()

OnStart() ​

csharp
public override void OnStart()

OnStartClient() ​

csharp
public override void OnStartClient()

OnStartServer() ​

csharp
public override void OnStartServer()

OnStop() ​

csharp
public override void OnStop()

OnStopServer() ​

csharp
public override void OnStopServer()

Rotate(float, bool, float) ​

csharp
public void Rotate(float angle, bool immediately, float overrideDuration = -1)

Parameters:

NameTypeDescription
anglefloat
immediatelybool
overrideDurationfloat

Rotate(Quaternion, bool, float) ​

csharp
public void Rotate(Quaternion rotation, bool immediately, float overrideDuration = -1)

Parameters:

NameTypeDescription
rotationUnityEngine.Quaternion
immediatelybool
overrideDurationfloat

Rotate(Vector3, bool, float) ​

csharp
public void Rotate(Vector3 forward, bool immediately, float overrideDuration = -1)

Parameters:

NameTypeDescription
forwardUnityEngine.Vector3
immediatelybool
overrideDurationfloat

RotateTowards(Entity, bool, float) ​

csharp
public void RotateTowards(Entity ent, bool immediately, float overrideDuration = -1)

Parameters:

NameTypeDescription
entEntity
immediatelybool
overrideDurationfloat

RotateTowards(Vector3, bool, float) ​

csharp
public void RotateTowards(Vector3 position, bool immediately, float overrideDuration = -1)

Parameters:

NameTypeDescription
positionUnityEngine.Vector3
immediatelybool
overrideDurationfloat

SetAgentDestination(Vector3, bool) ​

csharp
public void SetAgentDestination(Vector3 destination, bool important)

Parameters:

NameTypeDescription
destinationUnityEngine.Vector3
importantbool

SetAgentPosition(Vector3) ​

Can be called on local movement processor.

csharp
public void SetAgentPosition(Vector3 position)

Parameters:

NameTypeDescription
positionUnityEngine.Vector3

StartChannel(Channel) ​

csharp
public Channel StartChannel(Channel channel)

Parameters:

NameTypeDescription
channelChannel

Returns: Channel

StartDaze(float) ​

csharp
public Channel StartDaze(float duration)

Parameters:

NameTypeDescription
durationfloat

Returns: Channel

StartDisplacement(Displacement) ​

csharp
public void StartDisplacement(Displacement disp)

Parameters:

NameTypeDescription
dispDisplacement

Stop() ​

csharp
public void Stop()

StopOverrideRotation() ​

Unlock override rotation.

csharp
public void StopOverrideRotation()

Teleport(Vector3) ​

Teleport this entity to the targeted position.You should only feed in a valid position by usingDew.GetValidAgentPosition()beforehand.

csharp
public void Teleport(Vector3 position)

Parameters:

NameTypeDescription
positionUnityEngine.Vector3

TransformPoint(Vector2, Matrix4x4) ​

csharp
public static Vector2 TransformPoint(Vector2 point, Matrix4x4 transform)

Parameters:

NameTypeDescription
pointUnityEngine.Vector2
transformUnityEngine.Matrix4x4

Returns: UnityEngine.Vector2

UnlockGamepadRotation() ​

Unlock gamepad look rotation of this entity.

csharp
public void UnlockGamepadRotation()

UpdateLastMoveTime() ​

csharp
public void UpdateLastMoveTime()

Maintained by the Shape of Dreams Modding Community