39 template <
typename TSubsystemClass>
109 mutable bool bIterating =
false;
123template<
typename TBaseType>
128 template <
typename TSubsystemClass>
138 template <
typename TSubsystemClass>
165 return TEXT(
"FSubsystemCollection");
178template<
typename TBaseType>
183 template <
typename TSubsystemClass>
193 template <
typename TSubsystemClass>
211 template <
typename TSubsystemInterface>
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
UClass * StaticClass()
Definition ReflectedTypeAccessors.h:13
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition IDelegateInstance.h:14
Definition GCObject.h:128
Definition SubsystemCollection.h:180
FObjectSubsystemCollection()
Definition SubsystemCollection.h:224
void ForEachSubsystemWithInterface(TFunctionRef< void(TBaseType *)> Operation) const
Definition SubsystemCollection.h:212
TArray< TSubsystemClass * > GetSubsystemArrayCopy(const TSubclassOf< TSubsystemClass > &SubsystemClass) const
Definition SubsystemCollection.h:194
void ForEachSubsystem(TFunctionRef< void(TBaseType *)> Operation, const TSubclassOf< TBaseType > &SubsystemClass={}) const
Definition SubsystemCollection.h:204
TSubsystemClass * GetSubsystem(const TSubclassOf< TSubsystemClass > &SubsystemClass) const
Definition SubsystemCollection.h:184
Definition UObjectGlobals.h:2492
Definition SubsystemCollection.h:15
TSubsystemClass * InitializeDependency()
Definition SubsystemCollection.h:40
virtual ENGINE_API ~FSubsystemCollectionBase()
Definition SubsystemCollection.cpp:225
ENGINE_API USubsystem * GetSubsystemInternal(UClass *SubsystemClass) const
Definition SubsystemCollection.cpp:50
static ENGINE_API void ActivateExternalSubsystem(UClass *SubsystemClass)
Definition SubsystemCollection.cpp:401
ENGINE_API void ForEachSubsystemOfClass(UClass *SubsystemClass, TFunctionRef< void(USubsystem *)> Operation) const
Definition SubsystemCollection.cpp:121
static ENGINE_API void DeactivateExternalSubsystem(UClass *SubsystemClass)
Definition SubsystemCollection.cpp:406
ENGINE_API void Deinitialize()
Definition SubsystemCollection.cpp:239
bool IsInitialized() const
Definition SubsystemCollection.h:24
ENGINE_API void ForEachSubsystem(TFunctionRef< void(USubsystem *)> Operation) const
Definition SubsystemCollection.cpp:90
ENGINE_API void RemoveSubsystemsInPackages(TConstArrayView< UPackage * > Packages)
Definition SubsystemCollection.cpp:137
ENGINE_API FSubsystemArray & FindAndPopulateSubsystemArrayInternal(UClass *SubsystemClass) const
Definition SubsystemCollection.cpp:99
const UClass * GetBaseType() const
Definition SubsystemCollection.h:27
ENGINE_API TArray< USubsystem * > GetSubsystemArrayCopy(UClass *SubsystemClass) const
Definition SubsystemCollection.cpp:84
ENGINE_API void AddReferencedObjects(UObject *Referencer, FReferenceCollector &Collector)
Definition SubsystemCollection.cpp:306
ENGINE_API FSubsystemCollectionBase()
Definition SubsystemCollection.cpp:36
Definition SubsystemCollection.h:125
virtual FString GetReferencerName() const override
Definition SubsystemCollection.h:163
TSubsystemClass * GetSubsystem(const TSubclassOf< TSubsystemClass > &SubsystemClass) const
Definition SubsystemCollection.h:129
virtual void AddReferencedObjects(FReferenceCollector &Collector) override
Definition SubsystemCollection.h:158
TArray< TSubsystemClass * > GetSubsystemArrayCopy(const TSubclassOf< TSubsystemClass > &SubsystemClass) const
Definition SubsystemCollection.h:139
void ForEachSubsystem(TFunctionRef< void(TBaseType *)> Operation, const TSubclassOf< TBaseType > &SubsystemClass={}) const
Definition SubsystemCollection.h:149
FSubsystemCollection()
Definition SubsystemCollection.h:171
Definition SubsystemCollection.cpp:16
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition SubclassOf.h:30
Definition Subsystem.h:88
Definition Subsystem.h:48
Definition SubsystemCollection.h:59
TArray< USubsystem * > Subsystems
Definition SubsystemCollection.h:60
bool bIsIterating
Definition SubsystemCollection.h:61
Definition UnrealTypeTraits.h:40
Definition ObjectPtr.h:488