UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ModularFeatures.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Map.h"
9#include "HAL/CriticalSection.h" // jira SOL-6812: Remove this.
11#include "UObject/NameTypes.h"
12
17{
18
19public:
20
22 virtual int32 GetModularFeatureImplementationCount( const FName Type ) override;
23 virtual IModularFeature* GetModularFeatureImplementation( const FName Type, const int32 Index ) override;
24 virtual void RegisterModularFeature( const FName Type, class IModularFeature* ModularFeature ) override;
25 virtual void UnregisterModularFeature( const FName Type, class IModularFeature* ModularFeature ) override;
26 DECLARE_DERIVED_EVENT(FModularFeatures, IModularFeatures::FOnModularFeatureRegistered, FOnModularFeatureRegistered);
27 virtual IModularFeatures::FOnModularFeatureRegistered& OnModularFeatureRegistered() override;
28 DECLARE_DERIVED_EVENT(FModularFeatures, IModularFeatures::FOnModularFeatureUnregistered, FOnModularFeatureUnregistered);
29 virtual IModularFeatures::FOnModularFeatureUnregistered& OnModularFeatureUnregistered() override;
30 virtual void LockModularFeatureList() override;
31 virtual void UnlockModularFeatureList() override;
32
33private:
34
35
36private:
39
41 FTransactionallySafeCriticalSection ModularFeaturesMapCriticalSection;
42
44 FOnModularFeatureRegistered ModularFeatureRegisteredEvent;
45
47 FOnModularFeatureUnregistered ModularFeatureUnregisteredEvent;
48};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
::FCriticalSection FTransactionallySafeCriticalSection
Definition TransactionallySafeCriticalSection.h:16
Definition ModularFeatures.h:17
virtual void RegisterModularFeature(const FName Type, class IModularFeature *ModularFeature) override
Definition ModularFeatures.cpp:55
virtual int32 GetModularFeatureImplementationCount(const FName Type) override
Definition ModularFeatures.cpp:26
virtual void LockModularFeatureList() override
Definition ModularFeatures.cpp:16
DECLARE_DERIVED_EVENT(FModularFeatures, IModularFeatures::FOnModularFeatureRegistered, FOnModularFeatureRegistered)
virtual IModularFeatures::FOnModularFeatureUnregistered & OnModularFeatureUnregistered() override
Definition ModularFeatures.cpp:77
virtual void UnregisterModularFeature(const FName Type, class IModularFeature *ModularFeature) override
Definition ModularFeatures.cpp:64
DECLARE_DERIVED_EVENT(FModularFeatures, IModularFeatures::FOnModularFeatureUnregistered, FOnModularFeatureUnregistered)
virtual void UnlockModularFeatureList() override
Definition ModularFeatures.cpp:21
virtual IModularFeatures::FOnModularFeatureRegistered & OnModularFeatureRegistered() override
Definition ModularFeatures.cpp:72
virtual IModularFeature * GetModularFeatureImplementation(const FName Type, const int32 Index) override
Definition ModularFeatures.cpp:33
Definition NameTypes.h:617
Definition IModularFeature.h:12
Definition IModularFeatures.h:15
U16 Index
Definition radfft.cpp:71