Files
marc audy 311f7464bf Updated ../Engine/Source/Runtime/... to inline gen.cpp files
Before:
3648 unity files
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds

After:
3548 unity files
Total CPU Time: 46643.828125 s
Total time in Parallel executor: 486.06 seconds

#jira
#preflight

[CL 22173263 by marc audy in ue5-main branch]
2022-09-24 13:57:58 -04:00

53 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "ContextObjectStore.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(ContextObjectStore)
UObject* UContextObjectStore::FindContextByClass(UClass* InClass) const
{
for (UObject* ContextObject : ContextObjects)
{
if (ContextObject && ContextObject->IsA(InClass))
{
return ContextObject;
}
}
if (UContextObjectStore* ParentStore = Cast<UContextObjectStore>(GetOuter()))
{
return ParentStore->FindContextByClass(InClass);
}
return nullptr;
}
bool UContextObjectStore::AddContextObject(UObject* InContextObject)
{
if (InContextObject)
{
return ContextObjects.AddUnique(InContextObject) != INDEX_NONE;
}
return false;
}
bool UContextObjectStore::RemoveContextObject(UObject* InContextObject)
{
return ContextObjects.RemoveSingle(InContextObject) != 0;
}
bool UContextObjectStore::RemoveContextObjectsOfType(const UClass* InClass)
{
return (ContextObjects.RemoveAll([InClass](UObject* InObject)
{
return InObject->IsA(InClass);
}) > 0);
}
void UContextObjectStore::Shutdown()
{
ContextObjects.Empty();
}