UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
QuantizedObjectReference.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4// Note: This is intended for internal use and should not be included or used outside of NetSerializers having to deal with object references.
5
8
9namespace UE::Net
10{
11
12class FNetSerializationContext;
13struct FNetSerializerBaseArgs;
14
15struct FQuantizedRemoteObjectReference;
16
17// The quantized state can hold either an FNetObjectReference or a FQuantizedRemoteObjectReference.
18// The FQuantizedRemoteObjectReference is stored as dynamic state in order to reduce required size
19// when it's not used.
20// If RemoteReferencePtr is null, this state is using the FNetObjectReference.
21// If RemoteReferencePtr is non-null, this state is using the remote reference.
23{
24 // Assign an FNetObjectReference to this state. Called from within serializer functions.
30
31 bool IsNetReference() const
32 {
33 return !IsRemoteReference();
34 }
35
36 bool IsRemoteReference() const
37 {
38 return RemoteReferencePtr != nullptr;
39 }
40
41 bool operator==(const FQuantizedObjectReference& RHS) const;
42 bool IsValid() const;
44 FString ToString() const;
45
48};
49
50}
51
52template <> struct TIsPODType<UE::Net::FQuantizedObjectReference> { enum { Value = true }; };
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition NetObjectReference.h:38
Definition NetSerializationContext.h:31
Definition NetworkVersion.cpp:28
Definition AdvancedWidgetsModule.cpp:13
Definition IsPODType.h:12
@ Value
Definition IsPODType.h:13
Definition NetSerializer.h:155
Definition QuantizedObjectReference.h:23
FString ToString() const
Definition QuantizedObjectReference.cpp:55
bool IsRemoteReference() const
Definition QuantizedObjectReference.h:36
FNetObjectReference NetReference
Definition QuantizedObjectReference.h:46
FQuantizedRemoteObjectReference * RemoteReferencePtr
Definition QuantizedObjectReference.h:47
void SetNetReference(FNetSerializationContext &Context, const FNetSerializerBaseArgs &Args, const FNetObjectReference &InNetReference)
Definition QuantizedObjectReference.h:25
bool operator==(const FQuantizedObjectReference &RHS) const
Definition QuantizedObjectReference.cpp:13
bool IsNetReference() const
Definition QuantizedObjectReference.h:31
bool IsValid() const
Definition QuantizedObjectReference.cpp:27
void FreeRemoteReference(FNetSerializationContext &Context, const FNetSerializerBaseArgs &Args)
Definition QuantizedObjectReference.cpp:39
Definition QuantizedRemoteObjectReference.h:11