Skip to main content

FB2MovementUpdateSystem

Overview

  • Registers per MovementComponent and ticks them directly. Removes GetComponent overhead via direct component references.

Metadata

FieldValue
Kindsystem
EnvironmentB2 - Simulation
Categorysystems
ExtendsFB2Subsystem
Requirerequire('Systems.FB2MovementUpdateSystem')

Properties (9)

NameTypeDescription
CurrentTime_Cachednumber
EntityIndexMaptable<FB1EntityId, integer>
LastCleanupTimenumber
PendingRegistrationsany[]
PendingUnregistrationsFB1EntityId[]
PossessedEntityIdFB1EntityIdTracks the possessed entity separately (to remove an in-loop check).
PossessedMovementComponentany
RegisteredEntitiesFB2MovementUpdateEntry[]
bIsProcessingTickbooleanPrevents array modification during Tick processing. Prevents an OOB crash where RegisteredEntities changes on the OnScheduledTick -> indirect Entity Simulate disable -> UnregisterComponent path.

Functions (6)

FunctionParametersReturnsDescription
ClearPossessedEntity--Clears Possessed Entity.
GetRegisteredCount-integerReturns Registered Count.
IsRegisteredInEntityId: FB1EntityIdbooleanChecks whether it is registered.
SetPossessedEntityInEntityId: FB1EntityId-Sets Possessed Entity.
TickDeltaTime: number, CurrentTime: FDateTime, GameDeltaMinutes: number-Called before the Entity Tick.
UnregisterComponentInEntityId: FB1EntityId-Unregisters Component.

Override points (3)

Implement these in Lua as FB2MovementUpdateSystem.Override_Name = function(...) end.

FunctionParametersReturnsDescription
Override_ClearPossessedEntity--Clears Possessed Entity.
Override_TickDeltaTime: number, CurrentTime: FDateTime, GameDeltaMinutes: number-Called before the Entity Tick.
Override_UnregisterComponentInEntityId: FB1EntityId-Unregisters Component.