Overview
- Registers per MovementComponent and ticks them directly. Removes GetComponent overhead via direct component references.
Metadata
| Field | Value |
|---|
| Kind | system |
| Environment | B2 - Simulation |
| Category | systems |
| Extends | FB2Subsystem |
| Require | require('Systems.FB2MovementUpdateSystem') |
Properties (9)
| Name | Type | Description |
|---|
CurrentTime_Cached | number | |
EntityIndexMap | table<FB1EntityId, integer> | |
LastCleanupTime | number | |
PendingRegistrations | any[] | |
PendingUnregistrations | FB1EntityId[] | |
PossessedEntityId | FB1EntityId | Tracks the possessed entity separately (to remove an in-loop check). |
PossessedMovementComponent | any | |
RegisteredEntities | FB2MovementUpdateEntry[] | |
bIsProcessingTick | boolean | Prevents array modification during Tick processing. Prevents an OOB crash where RegisteredEntities changes on the OnScheduledTick -> indirect Entity Simulate disable -> UnregisterComponent path. |
Functions (6)
| Function | Parameters | Returns | Description |
|---|
ClearPossessedEntity | - | - | Clears Possessed Entity. |
GetRegisteredCount | - | integer | Returns Registered Count. |
IsRegistered | InEntityId: FB1EntityId | boolean | Checks whether it is registered. |
SetPossessedEntity | InEntityId: FB1EntityId | - | Sets Possessed Entity. |
Tick | DeltaTime: number, CurrentTime: FDateTime, GameDeltaMinutes: number | - | Called before the Entity Tick. |
UnregisterComponent | InEntityId: FB1EntityId | - | Unregisters Component. |
Override points (3)
Implement these in Lua as FB2MovementUpdateSystem.Override_Name = function(...) end.
| Function | Parameters | Returns | Description |
|---|
Override_ClearPossessedEntity | - | - | Clears Possessed Entity. |
Override_Tick | DeltaTime: number, CurrentTime: FDateTime, GameDeltaMinutes: number | - | Called before the Entity Tick. |
Override_UnregisterComponent | InEntityId: FB1EntityId | - | Unregisters Component. |