Files
UnrealEngineUWP/Engine/Source/Runtime/Experimental/GeometryCollectionEngine/Public/GeometryCollection/GeometryCollectionISMPoolSubSystem.h
sarah noonan 84ef67a0c8 Add UPROPERTY markup to UObject pointer to prevent object from being GCd.
#preflight 645138fe1c2846595cb43656

[CL 25315950 by sarah noonan in ue5-main branch]
2023-05-03 07:24:56 -04:00

35 lines
960 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Subsystems/WorldSubsystem.h"
#include "GeometryCollectionISMPoolSubSystem.generated.h"
class AGeometryCollectionISMPoolActor;
/**
* A subsystem managing ISMPool actors ( used by geometry collection now but repurposed for more general use )
*/
UCLASS()
class GEOMETRYCOLLECTIONENGINE_API UGeometryCollectionISMPoolSubSystem : public UWorldSubsystem
{
GENERATED_BODY()
public:
UGeometryCollectionISMPoolSubSystem();
// USubsystem BEGIN
virtual void Initialize(FSubsystemCollectionBase& Collection) override;
virtual void Deinitialize() override;
// USubsystem END
AGeometryCollectionISMPoolActor* FindISMPoolActor();
protected:
/** for now we only use one ISMPool actor per world, but we could extend the system to manage many more and return the right one based on search criteria */
UPROPERTY(Transient)
TObjectPtr<AGeometryCollectionISMPoolActor> ISMPoolActor;
};