11#ifndef UE_REPLICATED_OBJECT_REFCOUNTING
14 #define UE_REPLICATED_OBJECT_REFCOUNTING WITH_SERVER_CODE
17#ifndef DO_REPLICATED_OBJECT_CHANNELREF_CHECKS
19 #define DO_REPLICATED_OBJECT_CHANNELREF_CHECKS (UE_REPLICATED_OBJECT_REFCOUNTING && WITH_SERVER_CODE && UE_BUILD_DEVELOPMENT)
121 return Element.Get()->Actor;
135 return GetTypeHash(Key);
236#if UE_REPLICATED_OBJECT_REFCOUNTING
272#if DO_REPLICATED_OBJECT_CHANNELREF_CHECKS
282#if UE_REPLICATED_OBJECT_REFCOUNTING
291#if DO_REPLICATED_OBJECT_CHANNELREF_CHECKS
324#if DO_REPLICATED_OBJECT_CHANNELREF_CHECKS
361#if UE_REPLICATED_OBJECT_REFCOUNTING
417 void CountBytes(
FArchive& Ar)
const;
423 static KeyInitType GetSetKey(ElementInitType& Element) {
return Element.ActorKey; }
424 static bool Matches(KeyInitType
A, KeyInitType
B) {
return A ==
B; }
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ENetSubObjectStatus
Definition NetworkObjectList.h:24
Definition Archive.h:1208
Definition NameTypes.h:617
Definition NetworkObjectList.h:143
ENGINE_API void OnActorIsTraveling(AActor *TravelingAtor)
Definition NetworkObjectList.cpp:424
const FNetworkObjectSet & GetActiveObjects() const
Definition NetworkObjectList.h:216
ENGINE_API void Reset()
Definition NetworkObjectList.cpp:515
ENGINE_API void OnActorDestroyed(AActor *DestroyedActor)
Definition NetworkObjectList.cpp:612
ENGINE_API void FlushDormantActors(UNetConnection *const Connection, const FName &PackageName)
Definition NetworkObjectList.cpp:587
ENGINE_API void OnPostSeamlessTravel()
Definition NetworkObjectList.cpp:433
ENGINE_API void ClearRecentlyDormantConnection(AActor *const Actor, UNetConnection *const Connection, UNetDriver *NetDriver)
Definition NetworkObjectList.cpp:410
const TSharedPtr< FNetworkObjectInfo > Find(const AActor *const Actor) const
Definition NetworkObjectList.h:174
ENGINE_API void HandleConnectionAdded()
Definition NetworkObjectList.cpp:461
ENGINE_API void MarkDirtyForReplay(AActor *const Actor)
Definition NetworkObjectList.cpp:385
TSet< TSharedPtr< FNetworkObjectInfo >, FNetworkObjectKeyFuncs > FNetworkObjectSet
Definition NetworkObjectList.h:145
ENGINE_API void ResetDormancyState()
Definition NetworkObjectList.cpp:474
ENGINE_API void CountBytes(FArchive &Ar) const
Definition NetworkObjectList.cpp:534
ENGINE_API void MarkDormant(AActor *const Actor, UNetConnection *const Connection, const int32 NumConnections, UNetDriver *NetDriver)
Definition NetworkObjectList.cpp:205
const FNetworkObjectSet & GetAllObjects() const
Definition NetworkObjectList.h:213
ENGINE_API TSharedPtr< FNetworkObjectInfo > * FindOrAdd(AActor *const Actor, UNetDriver *NetDriver, bool *OutWasAdded=nullptr)
Definition NetworkObjectList.cpp:77
ENGINE_API bool MarkActive(AActor *const Actor, UNetConnection *const Connection, UNetDriver *NetDriver)
Definition NetworkObjectList.cpp:373
ENGINE_API int32 GetNumDormantActorsForConnection(UNetConnection *const Connection) const
Definition NetworkObjectList.cpp:494
ENGINE_API void ForceActorRelevantNextUpdate(AActor *const Actor, UNetDriver *NetDriver)
Definition NetworkObjectList.cpp:501
ENGINE_API void ResetReplayDirtyTracking()
Definition NetworkObjectList.cpp:399
const FNetworkObjectSet & GetDormantObjectsOnAllConnections() const
Definition NetworkObjectList.h:219
ENGINE_API void AddInitialObjects(UWorld *const World, UNetDriver *NetDriver)
Definition NetworkObjectList.cpp:39
Definition ArrayView.h:139
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition ActorChannel.h:78
Definition NetConnection.h:284
Definition NetDriver.h:799
uint32 GetTypeHash(const FKey &Key)
Definition BlackboardKey.h:35
@ Element
Definition Visu.h:18
VERSECOMPILER_API bool Matches(const CTypeBase *PositiveType1, const CTypeBase *NegativeType2, const uint32_t UploadedAtFnVersion)
Determine if argument PositiveType1 is a match for parameter NegativeType2
Definition SemanticTypes.cpp:2971
@ false
Definition radaudio_common.h:23
Definition SetUtilities.h:23
TCallTraits< TWeakObjectPtr< UNetConnection > >::ParamType ElementInitType
Definition SetUtilities.h:26
TCallTraits< const TWeakObjectPtr< UNetConnection > & >::ParamType KeyInitType
Definition SetUtilities.h:25
Definition NetworkObjectList.h:60
static uint32 GetKeyHash(KeyInitType Key)
Definition NetworkObjectList.h:63
static bool Matches(KeyInitType A, KeyInitType B)
Definition NetworkObjectList.h:62
static KeyInitType GetSetKey(ElementInitType &Element)
Definition NetworkObjectList.h:61
Definition NetworkObjectList.h:35
uint8 bDirtyForReplay
Definition NetworkObjectList.h:79
uint32 ForceRelevantFrame
Definition NetworkObjectList.h:85
TWeakObjectPtr< AActor > WeakActor
Definition NetworkObjectList.h:40
void CountBytes(FArchive &Ar) const
Definition NetworkObjectList.cpp:526
double NextUpdateTime
Definition NetworkObjectList.h:43
uint8 bSwapRolesOnReplicate
Definition NetworkObjectList.h:82
double LastNetUpdateTimestamp
Definition NetworkObjectList.h:53
uint8 bPendingNetUpdate
Definition NetworkObjectList.h:76
float OptimalNetUpdateDelta
Definition NetworkObjectList.h:49
FNetworkObjectInfo(AActor *InActor)
Definition NetworkObjectList.h:97
TSet< TWeakObjectPtr< UNetConnection >, FNetConnectionKeyFuncs > RecentlyDormantConnections
Definition NetworkObjectList.h:73
FNetworkObjectInfo()
Definition NetworkObjectList.h:87
TSet< TWeakObjectPtr< UNetConnection >, FNetConnectionKeyFuncs > DormantConnections
Definition NetworkObjectList.h:67
AActor * Actor
Definition NetworkObjectList.h:37
double LastNetReplicateTime
Definition NetworkObjectList.h:46
Definition NetworkObjectList.h:115
static bool Matches(KeyInitType A, KeyInitType B)
Definition NetworkObjectList.h:127
static KeyInitType GetSetKey(ElementInitType Element)
Definition NetworkObjectList.h:119
static uint32 GetKeyHash(KeyInitType Key)
Definition NetworkObjectList.h:133
Definition NetworkObjectList.h:355
static uint32 GetKeyHash(KeyInitType Key)
Definition NetworkObjectList.h:358
static KeyInitType GetSetKey(ElementInitType &Element)
Definition NetworkObjectList.h:356
static bool Matches(KeyInitType A, KeyInitType B)
Definition NetworkObjectList.h:357
Definition NetworkObjectList.h:314
bool IsTearOff() const
Definition NetworkObjectList.h:340
friend uint32 GetTypeHash(const FSubObjectChannelReference &SubObjChannelRef)
Definition NetworkObjectList.h:335
TWeakObjectPtr< UObject > SubObjectPtr
Definition NetworkObjectList.h:316
bool operator==(const TWeakObjectPtr< UObject > &rhs) const
Definition NetworkObjectList.h:333
FSubObjectChannelReference()=default
bool IsActive() const
Definition NetworkObjectList.h:342
bool IsDelete() const
Definition NetworkObjectList.h:341
bool operator==(const FSubObjectChannelReference &rhs) const
Definition NetworkObjectList.h:332
FSubObjectChannelReference(const TWeakObjectPtr< UObject > &InSubObject)
Definition NetworkObjectList.h:345
uint16 ChannelRefCount
Definition NetworkObjectList.h:319
ENetSubObjectStatus Status
Definition NetworkObjectList.h:322
Definition ObjectKey.h:19
Definition WeakObjectPtrTemplates.h:25
FORCEINLINE bool HasSameIndexAndSerialNumber(const TWeakObjectPtr &Other) const
Definition WeakObjectPtrTemplates.h:273