Runtime/ECS/Public/EntityInvoke.h file

Functions

template<typename T>
auto InvokePrePhysicsImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount) -> FORCE_INLINE void
Entity dispatch templates — wide SIMD + scalar + tail-masked loops.
template<typename T>
auto InvokeScalarUpdateImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount) -> FORCE_INLINE void
Scalar per-entity update loop (outside fixed step, no SIMD).
template<typename T>
auto InvokeInitializeImpl(void** fieldArrayTable, void* FlagBase, uint32_t localIndex) -> FORCE_INLINE void
Single-entity initialization at spawn time.
template<typename T>
auto InvokePostPhysicsImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount) -> FORCE_INLINE void
Wide AVX2 post-physics sweep: 8-wide batches + masked tail.
template<typename T>
auto InvokePrePhysicsResimImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount) -> FORCE_INLINE void
Rollback resim pre-physics: scalar loop filtered to DirtiedFrame entities only.
template<typename T>
auto InvokePostPhysicsResimImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount) -> FORCE_INLINE void
Rollback resim post-physics: scalar loop filtered to DirtiedFrame entities only.

Function documentation

template<typename T>
FORCE_INLINE void InvokePrePhysicsImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount)

Entity dispatch templates — wide SIMD + scalar + tail-masked loops.

Parameters
dt Fixed timestep.
fieldArrayTable Per-field SoA array pointers from the archetype chunk.
FlagBase Pointer to the flags array (CacheSlotMeta::Flags).
componentCount Total entity count in this archetype chunk.

Called via function pointers in EntityMeta. Each entity type that implements PrePhysics / PostPhysics / ScalarUpdate gets a concrete instantiation registered by PrefabReflector::RegisterPrefab.

Wide AVX2 pre-physics sweep: 8-wide batches + masked tail.

template<typename T>
FORCE_INLINE void InvokeInitializeImpl(void** fieldArrayTable, void* FlagBase, uint32_t localIndex)

Single-entity initialization at spawn time.

Parameters
fieldArrayTable
FlagBase
localIndex Slot index within the chunk's field arrays.

template<typename T>
FORCE_INLINE void InvokePrePhysicsResimImpl(SimFloat dt, void** fieldArrayTable, void* FlagBase, uint32_t componentCount)

Rollback resim pre-physics: scalar loop filtered to DirtiedFrame entities only.

Called in place of the wide SIMD variant during resimulation to skip the majority of entities whose state is unchanged by the incoming correction.