Files
henrik karlsson 9a1d5b1ad4 [Engine/Plugins]
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63d09351574ab9cae4670216
#rb none

[CL 23844750 by henrik karlsson in ue5-main branch]
2023-01-25 02:42:36 -05:00

58 lines
1.9 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "SmartObjectPersistentCollection.h"
#include "SmartObjectCollection.generated.h"
class USmartObjectDefinition;
class USmartObjectComponent;
/** Actor holding smart object persistent data */
UCLASS(Deprecated, NotBlueprintable, hidecategories = (Rendering, Replication, Collision, Input, HLOD, Actor, LOD, Cooking, WorldPartition), notplaceable, meta = (DeprecationMessage = "SmartObjectCollection class is deprecated. Please use SmartObjectPersistentCollection instead."))
class SMARTOBJECTSMODULE_API ADEPRECATED_SmartObjectCollection : public AActor
{
GENERATED_BODY()
protected:
friend class USmartObjectSubsystem;
explicit ADEPRECATED_SmartObjectCollection(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());
virtual void PostLoad() override;
/** Removes all entries from the collection. */
void ClearCollection();
UPROPERTY(VisibleAnywhere, Category = SmartObject)
FBox Bounds = FBox(ForceInitToZero);
UPROPERTY(VisibleAnywhere, Category = SmartObject)
TArray<FSmartObjectCollectionEntry> CollectionEntries;
UPROPERTY()
TMap<FSmartObjectHandle, FSoftObjectPath> RegisteredIdToObjectMap;
UPROPERTY(VisibleAnywhere, Category = SmartObject)
TArray<TObjectPtr<const USmartObjectDefinition>> Definitions;
bool bRegistered = false;
#if WITH_EDITORONLY_DATA
private:
/** This property used to be exposed to the UI editor. It was replaced with bBuildCollectionAutomatically for greater readability. */
UPROPERTY()
bool bBuildOnDemand_DEPRECATED = true;
protected:
/** if set to true will result in letting the level-less SmartObjects to register. Required for smart object unit testing. */
bool bIgnoreLevelTesting = false;
UPROPERTY(VisibleAnywhere, Category = SmartObject, AdvancedDisplay)
bool bBuildCollectionAutomatically = false;
bool bBuildingForWorldPartition = false;
#endif // WITH_EDITORONLY_DATA
};