Files
UnrealEngine/Engine/Source/Runtime/MovieScene/Private/MovieSceneSpawnableAnnotation.cpp
2025-05-18 13:04:45 +08:00

32 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MovieSceneSpawnableAnnotation.h"
#include "UObject/UObjectAnnotation.h"
static FUObjectAnnotationSparse<FMovieSceneSpawnableAnnotation,true> SpawnedObjectAnnotation;
void FMovieSceneSpawnableAnnotation::Add(UObject* SpawnedObject, const FGuid& ObjectBindingID, FMovieSceneSequenceID SequenceID, UMovieSceneSequence* InOriginatingSequence)
{
if (SpawnedObject)
{
FMovieSceneSpawnableAnnotation Annotation;
Annotation.ObjectBindingID = ObjectBindingID;
Annotation.SequenceID = SequenceID;
Annotation.OriginatingSequence = InOriginatingSequence;
SpawnedObjectAnnotation.AddAnnotation(SpawnedObject, MoveTemp(Annotation));
}
}
TOptional<FMovieSceneSpawnableAnnotation> FMovieSceneSpawnableAnnotation::Find(UObject* SpawnedObject)
{
const FMovieSceneSpawnableAnnotation& Annotation = SpawnedObjectAnnotation.GetAnnotation(SpawnedObject);
TOptional<FMovieSceneSpawnableAnnotation> ReturnValue;
if (!Annotation.IsDefault())
{
ReturnValue = Annotation;
}
return ReturnValue;
}