Navigation
API > API/Runtime > API/Runtime/IrisCore
| Name | FWorldLocations |
| Type | class |
| Header File | /Engine/Source/Runtime/Net/Iris/Public/Iris/ReplicationSystem/WorldLocations.h |
| Include Path | #include "Iris/ReplicationSystem/WorldLocations.h" |
Syntax
class FWorldLocations
Structs
| Name | Remarks |
|---|---|
| FObjectInfo | Contains the cached object data we are storing. |
| FWorldInfo | Publically available information of a replicated root object |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bLockdownDirtyList | bool | Controls if the dirty list can be modified | Iris/ReplicationSystem/WorldLocations.h | |
| MaxNetCullDistance | float | Iris/ReplicationSystem/WorldLocations.h | ||
| MaxWorldPos | FVector | Iris/ReplicationSystem/WorldLocations.h | ||
| MinWorldPos | FVector | World boundaries (min and max position). | Iris/ReplicationSystem/WorldLocations.h | |
| NetRefHandleManager | const UE::Net::Private::FNetRefHandleManager * | Iris/ReplicationSystem/WorldLocations.h | ||
| ObjectsRequiringFrequentWorldLocationUpdate | FNetBitArray | Set bits indicate that the object requires frequent world location updates | Iris/ReplicationSystem/WorldLocations.h | |
| ObjectsWithDirtyInfo | FNetBitArray | Set bits indicate that the world location or net cull distance has changed since last update | Iris/ReplicationSystem/WorldLocations.h | |
| ReservedStorageSlot | FNetBitArray | List detailing if a given index slot is free to be used to store world info. | Iris/ReplicationSystem/WorldLocations.h | |
| StorageIndexes | TArray< int32 > | Map that returns the storage index for the world info of a registered object. | Iris/ReplicationSystem/WorldLocations.h | |
| StoredObjectInfo | TNetChunkedArray< FObjectInfo, StorageElementsPerChunk > | Iris/ReplicationSystem/WorldLocations.h | ||
| ValidInfoIndexes | FNetBitArray | Set bits indicate that we have stored information for this internal object index | Iris/ReplicationSystem/WorldLocations.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FVector ClampPositionToBoundary
(
const FVector& Position |
Return a position clamped to the configured world boundary. | Iris/ReplicationSystem/WorldLocations.h | |
bool ClearCullDistanceOverride
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex |
Remove the temporary net cull distance override and instead use the regular net cull distance Returns true if the object had registered to use the world location cache and had an override value previously set | Iris/ReplicationSystem/WorldLocations.h | |
float GetCullDistance
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex |
Get the object's current cull distance. | Iris/ReplicationSystem/WorldLocations.h | |
bool GetObjectRequiresFrequentWorldLocationUpdate
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex |
Returns whether an object requires frequent world location updates. | Iris/ReplicationSystem/WorldLocations.h | |
const FNetBitArrayView GetObjectsRequiringFrequentWorldLocationUpdate() |
Returns the list of objects that need to check for a location change every frame | Iris/ReplicationSystem/WorldLocations.h | |
const FNetBitArrayView GetObjectsWithDirtyInfo() |
Returns the list of objects that changed world location or cull distance this frame | Iris/ReplicationSystem/WorldLocations.h | |
const FNetBitArrayView GetObjectsWithWorldInfo() |
Returns the list of objects that registered world location information | Iris/ReplicationSystem/WorldLocations.h | |
TOptional< FWorldLocations::FWorldInfo > GetWorldInfo
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex |
Return the current stored world information of the given object, or NullOpt if the object did not register in the world location cache. | Iris/ReplicationSystem/WorldLocations.h | |
FVector GetWorldLocation
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex |
Returns the object's world location if it's valid or a zero vector if it's not. | Iris/ReplicationSystem/WorldLocations.h | |
const FVector & GetWorldMaxPos() |
Iris/ReplicationSystem/WorldLocations.h | ||
const FVector & GetWorldMinPos() |
Return the world boundaries (min and max position). | Iris/ReplicationSystem/WorldLocations.h | |
bool HasCullDistanceOverride
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex |
Returns true if the object was set a cull distance override and is using it instead of his default cull distance value | Iris/ReplicationSystem/WorldLocations.h | |
bool HasInfoForObject
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex |
Returns whether the object has a valid cached data or not. | Iris/ReplicationSystem/WorldLocations.h | |
void Init
(
const FWorldLocationsInitParams& InitParams |
Iris/ReplicationSystem/WorldLocations.h | ||
void InitObjectInfoCache
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex |
Assign a world information cache to the replicated object | Iris/ReplicationSystem/WorldLocations.h | |
bool IsValidLocation
(
const FVector& Location |
Is the location without the configured Min/Max WorldPos | Iris/ReplicationSystem/WorldLocations.h | |
void LockDirtyInfoList
(
bool bLock |
Debug tool to track when its legal to modify the DirtyInfo list. | Iris/ReplicationSystem/WorldLocations.h | |
void OnMaxInternalNetRefIndexIncreased
(
UE::Net::Private::FInternalNetRefIndex NewMaxInternalIndex |
Iris/ReplicationSystem/WorldLocations.h | ||
void PostSendUpdate() |
Iris/ReplicationSystem/WorldLocations.h | ||
void RemoveObjectInfoCache
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex |
Remove the world information cache of the replicated object | Iris/ReplicationSystem/WorldLocations.h | |
void ResetObjectsWithDirtyInfo() |
Reset the list of objects that changed location or cull distance | Iris/ReplicationSystem/WorldLocations.h | |
bool SetCullDistanceOverride
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex, |
Add a temporary net cull distance that will have priority over the regular net cull distance. | Iris/ReplicationSystem/WorldLocations.h | |
void SetObjectInfo
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex, |
Set the mandatory info of a replicated root object | Iris/ReplicationSystem/WorldLocations.h | |
void SetObjectRequiresFrequentWorldLocationUpdate
(
UE::Net::Private::FInternalNetRefIndex ObjectIndex, |
Objects are not necessarily marked as dirty just because they're moving, such as objects attached to other objects. | Iris/ReplicationSystem/WorldLocations.h |