Files
UnrealEngineUWP/Engine/Plugins/Runtime/ReplicationSystemTestPlugin/Source/Private/Tests/Serialization/TestInstancedStructNetSerializer.h
peter engstrom 8083cf8c61 Iris - Adjust includes due to StructUtils moving.
#rnx
#rb bradley.heath, jon.fairchild

[CL 34738012 by peter engstrom in ue5-main branch]
2024-06-28 10:12:53 -04:00

97 lines
1.6 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "UObject/ObjectMacros.h"
#include "StructUtils/InstancedStruct.h"
#include "Tests/ReplicationSystem/ReplicatedTestObject.h"
#include "TestInstancedStructNetSerializer.generated.h"
USTRUCT()
struct FTestInstancedStruct
{
GENERATED_BODY()
UPROPERTY()
FInstancedStruct InstancedStruct;
};
USTRUCT()
struct FTestInstancedStructArray
{
GENERATED_BODY()
UPROPERTY()
TArray<FInstancedStruct> InstancedStructArray;
};
USTRUCT()
struct FStructForInstancedStructTestA
{
GENERATED_BODY()
UPROPERTY()
uint16 SomeUint16 = 0;
};
USTRUCT()
struct FStructForInstancedStructTestB
{
GENERATED_BODY()
UPROPERTY()
float SomeFloat = 0.0f;
};
USTRUCT()
struct FStructForInstancedStructTestC
{
GENERATED_BODY()
UPROPERTY()
bool SomeBool = false;
};
USTRUCT()
struct FStructForInstancedStructTestD
{
GENERATED_BODY()
// Intentionally has no properties
};
USTRUCT()
struct FStructForInstancedStructTestWithArray
{
GENERATED_BODY()
UPROPERTY()
TArray<FStructForInstancedStructTestB> ArrayOfTestB;
};
USTRUCT()
struct FStructForInstancedStructTestWithObjectReference
{
GENERATED_BODY()
UPROPERTY();
TObjectPtr<UObject> SomeObject = nullptr;
};
UCLASS()
class UInstancedStructNetSerializerTestObject : public UReplicatedTestObject
{
GENERATED_BODY()
protected:
virtual void RegisterReplicationFragments(UE::Net::FFragmentRegistrationContext& Fragments, UE::Net::EFragmentRegistrationFlags RegistrationFlags) override;
public:
UPROPERTY(Replicated, Transient)
FInstancedStruct InstancedStruct;
UPROPERTY(Replicated, Transient)
TArray<FInstancedStruct> InstancedStructArray;
};