Files
alexei lebedev 2815323fbc [mutable] Moved the Mutable plugin out of Experimental status into Beta.
#jira UE-223488
#rb jordi.rovira
#tests Editor
#rnx

#virtualized

[CL 36035608 by alexei lebedev in ue5-main branch]
2024-09-05 07:16:19 -04:00

71 lines
1.6 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MuR/ExtensionData.h"
#include "MuR/MutableTrace.h"
#include "MuR/SerialisationPrivate.h"
#include "Templates/TypeHash.h"
namespace mu
{
//---------------------------------------------------------------------------------------------
void ExtensionData::Serialise(const ExtensionData* Data, OutputArchive& Archive)
{
Archive << *Data;
}
//---------------------------------------------------------------------------------------------
ExtensionDataPtr ExtensionData::StaticUnserialise(InputArchive& Archive)
{
MUTABLE_CPUPROFILER_SCOPE(ExtensionDataUnserialise);
LLM_SCOPE_BYNAME(TEXT("MutableRuntime"));
ExtensionDataPtr Result = new ExtensionData();
Archive >> *Result;
return Result;
}
//---------------------------------------------------------------------------------------------
uint32 ExtensionData::Hash() const
{
uint32 Result = ::GetTypeHash(Index);
Result = HashCombine(Result, ::GetTypeHash((uint8)Origin));
return Result;
}
//---------------------------------------------------------------------------------------------
void ExtensionData::Serialise(OutputArchive& Archive) const
{
Archive << Index;
uint8 OriginByte = (uint8)Origin;
Archive << OriginByte;
}
//---------------------------------------------------------------------------------------------
void ExtensionData::Unserialise(InputArchive& Archive)
{
Archive >> Index;
uint8 OriginByte;
Archive >> OriginByte;
Origin = (EOrigin)OriginByte;
}
//---------------------------------------------------------------------------------------------
int32 ExtensionData::GetDataSize() const
{
return sizeof(ExtensionData);
}
}