Files
UnrealEngineUWP/Engine/Source/Runtime/MovieSceneCapture/Private/ActiveMovieSceneCaptures.cpp
ryan durand 0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00

65 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "ActiveMovieSceneCaptures.h"
TUniquePtr<FActiveMovieSceneCaptures> FActiveMovieSceneCaptures::Singleton;
FActiveMovieSceneCaptures& FActiveMovieSceneCaptures::Get()
{
if (!Singleton)
{
Singleton.Reset(new FActiveMovieSceneCaptures);
}
return *Singleton;
}
void FActiveMovieSceneCaptures::Add(UMovieSceneCapture* Capture)
{
ActiveCaptures.AddUnique(Capture);
}
void FActiveMovieSceneCaptures::Remove(UMovieSceneCapture* Capture)
{
ActiveCaptures.Remove(Capture);
}
void FActiveMovieSceneCaptures::Tick(float DeltaSeconds)
{
TArray<UMovieSceneCapture*> Captures = ActiveCaptures;
for (UMovieSceneCapture* Capture : Captures)
{
if (Capture->ShouldFinalize())
{
Capture->Finalize();
}
else
{
Capture->Tick(DeltaSeconds);
}
}
}
void FActiveMovieSceneCaptures::Shutdown()
{
TArray<UMovieSceneCapture*> ActiveCapturesCopy;
Swap(ActiveCaptures, ActiveCapturesCopy);
for (auto* Obj : ActiveCapturesCopy)
{
Obj->Finalize();
}
Singleton.Reset();
}
void FActiveMovieSceneCaptures::AddReferencedObjects(FReferenceCollector& Collector)
{
Collector.AddReferencedObjects(ActiveCaptures);
}
FString FActiveMovieSceneCaptures::GetReferencerName() const
{
return TEXT("FActiveMovieSceneCaptures");
}