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

25 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Channels/MovieSceneChannelOverrideContainer.h"
#include "Channels/MovieSceneChannel.h"
#include "Templates/SubclassOf.h"
#include "UObject/UObjectIterator.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(MovieSceneChannelOverrideContainer)
void UMovieSceneChannelOverrideContainer::GetOverrideCandidates(FName InDefaultChannelTypeName, FOverrideCandidates& OutCandidates)
{
for (TObjectIterator<UClass> ClassIterator; ClassIterator; ++ClassIterator)
{
if (ClassIterator->IsChildOf(UMovieSceneChannelOverrideContainer::StaticClass()) &&
!ClassIterator->HasAnyClassFlags(CLASS_Abstract | CLASS_Deprecated | CLASS_NewerVersionExists))
{
const UMovieSceneChannelOverrideContainer* OverrideContainer = ClassIterator->GetDefaultObject<UMovieSceneChannelOverrideContainer>();
if (OverrideContainer && OverrideContainer->SupportsOverride(InDefaultChannelTypeName))
{
OutCandidates.Add(TSubclassOf<UMovieSceneChannelOverrideContainer>(*ClassIterator));
}
}
}
}