12#include "ActorChannel.generated.h"
14#ifndef NET_ENABLE_SUBOBJECT_REPKEYS
15#define NET_ENABLE_SUBOBJECT_REPKEYS 1
19#ifndef SUBOBJECT_TRANSITION_VALIDATION
20 #define SUBOBJECT_TRANSITION_VALIDATION !(UE_BUILD_SHIPPING || UE_BUILD_TEST)
33 struct FSubObjectRegistry;
34 class FNetConditionGroupManager;
89 float CustomTimeDilation;
93 double LastUpdateTime;
102 uint32 bHoldQueuedExportBunchesAndGUIDs:1;
104#if !UE_BUILD_SHIPPING
113 uint32 bActorIsPendingKill : 1;
119 uint32 bSuppressQueuedBunchWarningsDueToHitches : 1;
122 uint32 bIsForcedSerializeFromRPC:1;
124 uint16 ChannelSubObjectDirtyCount = 0;
140 UE_DEPRECATED(5.1,
"The CreateSubObjects array will be made private in future versions. Use GetCreatedSubObjects() instead")
147 return CreateSubObjects;
169 ENGINE_API virtual void SetClosingFlag()
override;
172 ENGINE_API virtual bool CanStopTicking()
const override;
179 ENGINE_API virtual FString Describe()
override;
193 ENGINE_API bool IsActorReadyForReplication()
const;
317#if SUBOBJECT_TRANSITION_VALIDATION
332 template<
typename Type>
333 UE_DEPRECATED(5.1,
"This function will be deleted. Register your subobjects using AddReplicatedSubObject instead.")
337 for (
auto It = ObjectList.CreateIterator(); It; ++It)
348#if NET_ENABLE_SUBOBJECT_REPKEYS
350 static const int32 SubobjectRepKeyBufferSize = 64;
376 ENGINE_API virtual void AddedToChannelPool()
override;
378 static ENGINE_API bool CanSubObjectReplicateToClient(
398 UE_DEPRECATED(5.2,
"This function has been deprecated in favor of the one with a single parameter")
473 ENGINE_API bool ValidateReplicatedSubObjects();
483 return CreateSubObjects;
491 void ProcessBunchInternal(
FInBunch& Bunch);
499 static ENGINE_API const FString ClassNetCacheSuffix;
OODEFFUNC typedef const int const char * function
Definition oodle2.h:710
ESetChannelActorFlags
Definition ActorChannel.h:38
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
ELifetimeCondition
Definition CoreNetTypes.h:20
EChannelCloseReason
Definition CoreNetTypes.h:49
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EChannelCreateFlags
Definition Channel.h:41
EChannelGetAdditionalRequiredBunchesFlags
Definition Channel.h:48
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
void Init()
Definition LockFreeList.h:4
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition PlayerController.h:261
Definition Archive.h:1208
Definition DataBunch.h:127
Definition PackageMapClient.h:92
Definition NetworkGuid.h:12
Definition UObjectGlobals.h:1292
static COREUOBJECT_API FObjectInitializer & Get()
Definition UObjectGlobals.cpp:5001
Definition DataReplication.h:74
ENGINE_API bool ReceivedBunch(FNetBitReader &Bunch, const FReplicationFlags &RepFlags, const bool bHasRepLayout, bool &bOutHasUnmapped)
Definition DataReplication.cpp:980
ENGINE_API void ReceivedNak(int32 NakPacketId)
Definition DataReplication.cpp:884
ENGINE_API void QueueRemoteFunctionBunch(UFunction *Func, FOutBunch &Bunch)
Definition DataReplication.cpp:2288
ENGINE_API void StartBecomingDormant()
Definition DataReplication.cpp:2415
ENGINE_API bool ReadyForDormancy(bool bDebug=false)
Definition DataReplication.cpp:2362
TObjectPtr< UClass > ObjectClass
Definition DataReplication.h:337
Definition DataBunch.h:24
Definition UObjectGlobals.h:2492
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition StaticBitArray.h:75
Definition ActorChannel.h:78
TMap< int32, int32 > SubobjectRepKeyMap
Definition ActorChannel.h:361
AActor * GetActor() const
Definition ActorChannel.h:187
TArray< class FOutBunch * > QueuedExportBunches
Definition ActorChannel.h:152
TMap< UObject *, TSharedRef< FObjectReplicator > > ReplicationMap
Definition ActorChannel.h:132
EChannelCloseReason QueuedCloseReason
Definition ActorChannel.h:155
ESubObjectDeleteFlag
Definition ActorChannel.h:448
TSet< FNetworkGUID > PendingGuidResolves
Definition ActorChannel.h:138
ENGINE_API bool KeyNeedsToReplicate(int32 ObjID, int32 RepKey)
uint32 bBlockChannelFailure
Definition ActorChannel.h:106
TArray< int32 > PendingObjKeys
Definition ActorChannel.h:367
double QueuedBunchStartTime
Definition ActorChannel.h:136
static ENGINE_API bool CanIgnoreDeprecatedReplicateSubObjects()
void SetSkipRoleSwap(const bool bShouldSkip)
Definition ActorChannel.h:128
TArray< FNetworkGUID > QueuedMustBeMappedGuidsInLastBunch
Definition ActorChannel.h:151
void SetForcedSerializeFromRPC(bool bInFromRPC)
Definition ActorChannel.h:346
virtual bool ReplicateSubobjectCustom(UObject *Obj, FOutBunch &Bunch, const FReplicationFlags &RepFlags)
Definition ActorChannel.h:329
bool GetSkipRoleSwap() const
Definition ActorChannel.h:127
TArray< class FInBunch * > QueuedBunches
Definition ActorChannel.h:135
TSharedPtr< FObjectReplicator > ActorReplicator
Definition ActorChannel.h:130
TMap< int32, FPacketRepKeyInfo > SubobjectNakMap
Definition ActorChannel.h:364
Definition ActorComponent.h:152
Definition NetConditionGroupManager.h:50
Definition NetConnection.h:284
Definition NetworkVersion.cpp:28
@ false
Definition radaudio_common.h:23
Definition ObjectKey.h:19
Definition EngineTypes.h:3601
Definition ObjectPtr.h:488
Definition WeakObjectPtrTemplates.h:25
Definition ActorChannel.h:353
FPacketRepKeyInfo()
Definition ActorChannel.h:354
int32 PacketID
Definition ActorChannel.h:356
TArray< int32 > ObjKeys
Definition ActorChannel.h:357
Definition NetSubObjectRegistry.h:29