Navigation
API > API/Runtime > API/Runtime/Engine
| Name | FSubsystemCollectionBase |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Public/Subsystems/SubsystemCollection.h |
| Include Path | #include "Subsystems/SubsystemCollection.h" |
Syntax
class FSubsystemCollectionBase
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSubsystemCollectionBase
(
UClass* InBaseType |
Protected constructor - for use by the template only(FSubsystemCollection |
Subsystems/SubsystemCollection.h | |
| Protected constructor - Use the FSubsystemCollection |
Subsystems/SubsystemCollection.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FSubsystemCollectionBase() |
Destructor will be called from virtual ~FGCObject in GC cleanup | Subsystems/SubsystemCollection.h |
Structs
| Name | Remarks |
|---|---|
| FSubsystemArray |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BaseType | UClass * | Subsystems/SubsystemCollection.h | ||
| bDeinitComplete | bool | Subsystems/SubsystemCollection.h | ||
| bIterating | bool | Subsystems/SubsystemCollection.h | ||
| Initialization | FSubsystemCollectionInitialization * | Non-null inside Initialize and other places that we add subsystems. | Subsystems/SubsystemCollection.h | |
| ModulesUnloadedHandle | FDelegateHandle | Subsystems/SubsystemCollection.h | ||
| Outer | UObject * | Subsystems/SubsystemCollection.h | ||
| SubsystemArrayMap | TMap< UClass *, TUniquePtr< FSubsystemArray > > | Keys for this map should be a base class or interface implemented by a class in SubsystemMap. | Subsystems/SubsystemCollection.h | |
| SubsystemMap | TMap< TObjectPtr< UClass >, TObjectPtr< USubsystem > > | Subsystems/SubsystemCollection.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddReferencedObjects
(
UObject* Referencer, |
Collect references held by this collection | Subsystems/SubsystemCollection.h | |
void Deinitialize() |
Clears the collection, while deinitializing the systems | Subsystems/SubsystemCollection.h | |
const UClass * GetBaseType() |
Get the collection BaseType | Subsystems/SubsystemCollection.h | |
void Initialize
(
UObject* NewOuter |
Initialize the collection of systems, systems will be created and initialized | Subsystems/SubsystemCollection.h | |
TSubsystemClass * InitializeDependency () |
Only call from Initialize() of Systems to ensure initialization order Note: Dependencies only work within a collection | Subsystems/SubsystemCollection.h | |
USubsystem * InitializeDependency
(
TSubclassOf< USubsystem > SubsystemClass |
Only call from Initialize() of Systems to ensure initialization order Note: Dependencies only work within a collection | Subsystems/SubsystemCollection.h | |
bool IsInitialized() |
Returns true if collection was already initialized | Subsystems/SubsystemCollection.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
USubsystem * AddAndInitializeSubsystem
(
UClass* SubsystemClass |
Adds a subsystem to the collection and initializes it | Subsystems/SubsystemCollection.h | |
void AddAndInitializeSubsystems
(
TConstArrayView< UClass* > SubsystemClasses |
Add and initialize many subsystems at once, handling dependencies between them as with Initialize | Subsystems/SubsystemCollection.h | |
FSubsystemArray & FindAndPopulateSubsystemArrayInternal
(
UClass* SubsystemClass |
Fetch a list of subsystems that derive from the given class, populating the cache if necessary. | Subsystems/SubsystemCollection.h | |
void ForEachSubsystem
(
TFunctionRef< void(USubsystem*)> Operation |
Run the given operation on each registered subsystem. | Subsystems/SubsystemCollection.h | |
void ForEachSubsystemOfClass
(
UClass* SubsystemClass, |
Perform an operation on all subsystems that derive from the given class | Subsystems/SubsystemCollection.h | |
UObject * GetOuter() |
Get the outer object associated with this collection | Subsystems/SubsystemCollection.h | |
TArray< USubsystem * > GetSubsystemArrayCopy
(
UClass* SubsystemClass |
Get a list of Subsystems by type | Subsystems/SubsystemCollection.h | |
TArray< SubsystemType * > GetSubsystemArrayCopy
(
UClass* SubsystemClass |
Get a list of Subsystems by type | Subsystems/SubsystemCollection.h | |
USubsystem * GetSubsystemInternal
(
UClass* SubsystemClass |
Get a Subsystem by type | Subsystems/SubsystemCollection.h | |
bool IsPopulating() |
True if we're adding subsystems either from Initialize or piecemeal. | Subsystems/SubsystemCollection.h | |
void RemoveAndDeinitializeSubsystem
(
USubsystem* Subsystem |
Removes a subsystem to the collection and deinitializes it | Subsystems/SubsystemCollection.h | |
void RemoveSubsystemsInPackages
(
TConstArrayView< UPackage* > Packages |
Remove all subsystems in this list of packages | Subsystems/SubsystemCollection.h |
Protected Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void OnPreRemoveSubsystem
(
TNonNullPtr< USubsystem > Subsystem |
Called before a subsystem is de-initialized and remove from the collection. | Subsystems/SubsystemCollection.h | |
virtual void OnSubsystemAdded
(
TNonNullPtr< USubsystem > Subsystem |
Called after a subsystem has been initialized and added to the collection. | Subsystems/SubsystemCollection.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void ActivateExternalSubsystem
(
UClass* SubsystemClass |
Registers and adds instances of the specified Subsystem class to all existing SubsystemCollections of the correct type. | Subsystems/SubsystemCollection.h | |
static void AddAllInstances
(
TConstArrayView< UClass* > SubsystemClasses |
Add Instances of the specified Subsystem classes to all existing SubsystemCollections of the correct type | Subsystems/SubsystemCollection.h | |
static void DeactivateExternalSubsystem
(
UClass* SubsystemClass |
Unregisters and removed instances of the specified Subsystem class from all existing SubsystemCollections of the correct type. | Subsystems/SubsystemCollection.h | |
static void RemoveAllInstances
(
TConstArrayView< UClass* > SubsystemClasses |
Remove Instances of the specified Subsystem classes from all existing SubsystemCollections of the correct type | Subsystems/SubsystemCollection.h |