2021-09-28 13:33:00 -04:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#include "SmartObjectCollection.h"
|
|
|
|
|
#include "SmartObjectSubsystem.h"
|
|
|
|
|
#include "Engine/World.h"
|
|
|
|
|
|
2022-09-28 01:06:15 -04:00
|
|
|
#include UE_INLINE_GENERATED_CPP_BY_NAME(SmartObjectCollection)
|
|
|
|
|
|
2021-09-28 13:33:00 -04:00
|
|
|
//----------------------------------------------------------------------//
|
2022-11-24 14:53:52 -05:00
|
|
|
// ADEPRECATED_SmartObjectCollection
|
2021-09-28 13:33:00 -04:00
|
|
|
//----------------------------------------------------------------------//
|
2022-11-24 14:53:52 -05:00
|
|
|
ADEPRECATED_SmartObjectCollection::ADEPRECATED_SmartObjectCollection(const FObjectInitializer& ObjectInitializer)
|
2021-09-28 13:33:00 -04:00
|
|
|
: Super(ObjectInitializer)
|
|
|
|
|
{
|
2021-11-26 15:48:13 -05:00
|
|
|
#if WITH_EDITORONLY_DATA
|
|
|
|
|
bActorLabelEditable = false;
|
|
|
|
|
#endif
|
|
|
|
|
|
2021-09-28 13:33:00 -04:00
|
|
|
PrimaryActorTick.bCanEverTick = false;
|
|
|
|
|
bNetLoadOnClient = false;
|
|
|
|
|
SetCanBeDamaged(false);
|
|
|
|
|
}
|
|
|
|
|
|
2022-11-24 14:53:52 -05:00
|
|
|
void ADEPRECATED_SmartObjectCollection::PostLoad()
|
2022-10-10 12:00:30 -04:00
|
|
|
{
|
|
|
|
|
Super::PostLoad();
|
|
|
|
|
#if WITH_EDITORONLY_DATA
|
|
|
|
|
PRAGMA_DISABLE_DEPRECATION_WARNINGS
|
|
|
|
|
bBuildCollectionAutomatically = !bBuildOnDemand_DEPRECATED;
|
|
|
|
|
PRAGMA_ENABLE_DEPRECATION_WARNINGS
|
2022-11-24 14:53:52 -05:00
|
|
|
|
|
|
|
|
if (UWorld* World = GetWorld())
|
|
|
|
|
{
|
|
|
|
|
if (World->IsEditorWorld())
|
|
|
|
|
{
|
|
|
|
|
USmartObjectSubsystem::CreatePersistentCollectionFromDeprecatedData(*World, *this);
|
|
|
|
|
ClearCollection();
|
2022-11-29 05:02:39 -05:00
|
|
|
SetActorLabel(TEXT("DEPRECATED_SmartObjectCollection"));
|
2022-11-24 14:53:52 -05:00
|
|
|
}
|
|
|
|
|
}
|
2022-10-10 12:00:30 -04:00
|
|
|
#endif // WITH_EDITORONLY_DATA
|
|
|
|
|
}
|
|
|
|
|
|
2022-11-24 14:53:52 -05:00
|
|
|
void ADEPRECATED_SmartObjectCollection::ClearCollection()
|
2021-09-28 13:33:00 -04:00
|
|
|
{
|
2022-11-24 14:53:52 -05:00
|
|
|
CollectionEntries.Reset();
|
|
|
|
|
RegisteredIdToObjectMap.Empty();
|
2021-11-26 15:48:13 -05:00
|
|
|
Definitions.Reset();
|
2021-09-28 13:33:00 -04:00
|
|
|
}
|