Navigation
API > API/Plugins > API/Plugins/NetworkPredictionInsights > API/Plugins/NetworkPredictionInsights/FSimulationData
| Name | FUserStateStore |
| Type | struct |
| Header File | /Engine/Plugins/Runtime/NetworkPredictionInsights/Source/NetworkPredictionInsights/Public/INetworkPredictionProvider.h |
| Include Path | #include "INetworkPredictionProvider.h" |
Syntax
struct FUserStateStore
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FUserStateStore
(
TraceServices::ILinearAllocator& Allocator |
INetworkPredictionProvider.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| FrameMap | TMap< int32, FUserState * > | INetworkPredictionProvider.h | ||
| PopulatedFrames | TBitArray | INetworkPredictionProvider.h | ||
| UserStates | TraceServices::TPagedArray< FUserState > | Notes on data storage here: -We may not have an FUserState for all Simulation Frames (interpolation case will be very sparse) -We may have an FUserState for each simulation frame, or even multiple (autoproxy/correction heavy cases) -User states should be pushed in ascending EngineFrame order but NOT necessarily in accessing SimulationFram -We don't need to hyper optimize this but we should avoid linear searching | INetworkPredictionProvider.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FORCENOINLINE const FUserState * Get
(
int32 InFrame, |
INetworkPredictionProvider.h | ||
FORCENOINLINE FUserState & Push
(
int32 Frame, |
INetworkPredictionProvider.h |