6#include "Containers/Array.h"
53 template<
typename TModularFeature >
67 template<
typename TModularFeature >
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition NameTypes.h:617
Definition IModularFeature.h:12
Definition IModularFeatures.h:15
virtual void RegisterModularFeature(const FName Type, class IModularFeature *ModularFeature)=0
static CORE_API IModularFeatures & Get()
Definition ModularFeatures.cpp:9
virtual void UnregisterModularFeature(const FName Type, class IModularFeature *ModularFeature)=0
DECLARE_EVENT_TwoParams(IModularFeatures, FOnModularFeatureRegistered, const FName &, class IModularFeature *)
virtual FOnModularFeatureRegistered & OnModularFeatureRegistered()=0
virtual void UnlockModularFeatureList()=0
TArray< TModularFeature * > GetModularFeatureImplementations(const FName Type)
Definition IModularFeatures.h:68
bool IsModularFeatureAvailable(const FName Type)
Definition IModularFeatures.h:39
virtual void LockModularFeatureList()=0
TModularFeature & GetModularFeature(const FName Type)
Definition IModularFeatures.h:54
DECLARE_EVENT_TwoParams(IModularFeatures, FOnModularFeatureUnregistered, const FName &, class IModularFeature *)
virtual class IModularFeature * GetModularFeatureImplementation(const FName Type, const int32 Index)=0
virtual int32 GetModularFeatureImplementationCount(const FName Type)=0
virtual ~IModularFeatures()
Definition IModularFeatures.h:27
virtual FOnModularFeatureUnregistered & OnModularFeatureUnregistered()=0
U16 Index
Definition radfft.cpp:71
Definition IModularFeatures.h:89
~FScopedLockModularFeatureList()
Definition IModularFeatures.h:91
FScopedLockModularFeatureList(const FScopedLockModularFeatureList &)=delete
FScopedLockModularFeatureList & operator=(const FScopedLockModularFeatureList &)=delete
FScopedLockModularFeatureList()
Definition IModularFeatures.h:90
FScopedLockModularFeatureList(FScopedLockModularFeatureList &&)=delete