2023-01-31 14:46:14 -05:00
// Copyright Epic Games, Inc. All Rights Reserved.
# pragma once
# include "Subsystems/WorldSubsystem.h"
# include "GeometryCollectionISMPoolSubSystem.generated.h"
class AGeometryCollectionISMPoolActor ;
/**
2023-02-01 12:04:09 -05:00
* A subsystem managing ISMPool actors ( used by geometry collection now but repurposed for more general use )
2023-01-31 14:46:14 -05:00
*/
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
2023-04-04 19:18:34 -04:00
AGeometryCollectionISMPoolActor * FindISMPoolActor ( ) ;
2023-01-31 14:46:14 -05:00
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 */
2023-05-03 07:24:56 -04:00
UPROPERTY ( Transient )
2023-01-31 14:46:14 -05:00
TObjectPtr < AGeometryCollectionISMPoolActor > ISMPoolActor ;
} ;