UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMassSubsystemAccess Struct Reference

#include <MassSubsystemAccess.h>

Public Member Functions

MASSENTITY_API FMassSubsystemAccess (UWorld *InWorld=nullptr)
 
template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
T * GetMutableSubsystem ()
 
template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
T & GetMutableSubsystemChecked ()
 
template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
const T * GetSubsystem ()
 
template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
const T & GetSubsystemChecked ()
 
template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
T * GetMutableSubsystem (const TSubclassOf< USubsystem > SubsystemClass)
 
template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
T & GetMutableSubsystemChecked (const TSubclassOf< USubsystem > SubsystemClass)
 
template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
const T * GetSubsystem (const TSubclassOf< USubsystem > SubsystemClass)
 
template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
const T & GetSubsystemChecked (const TSubclassOf< USubsystem > SubsystemClass)
 
MASSENTITY_API bool CacheSubsystemRequirements (const FMassSubsystemRequirements &SubsystemRequirements)
 
MASSENTITY_API void SetSubsystemRequirements (const FMassSubsystemRequirements &SubsystemRequirements)
 
void GetSubsystemRequirementBits (FMassExternalSubsystemBitSet &OutConstSubsystemsBitSet, FMassExternalSubsystemBitSet &OutMutableSubsystemsBitSet)
 
void SetSubsystemRequirementBits (const FMassExternalSubsystemBitSet &InConstSubsystemsBitSet, const FMassExternalSubsystemBitSet &InMutableSubsystemsBitSet)
 

Static Public Member Functions

template<typename T >
static constexpr bool DoesRequireWorld ()
 
template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
static T * FetchSubsystemInstance (UWorld *World)
 
template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
static T * FetchSubsystemInstance ()
 
static MASSENTITY_API USubsystemFetchSubsystemInstance (UWorld *World, TSubclassOf< USubsystem > SubsystemClass)
 

Protected Member Functions

template<typename T >
T * GetSubsystemInternal (const uint32 SystemIndex)
 
template<typename T >
T * GetSubsystemInternal (const uint32 SystemIndex, const TSubclassOf< USubsystem > SubsystemClass)
 
MASSENTITY_API bool CacheSubsystem (const uint32 SystemIndex)
 

Protected Attributes

FMassExternalSubsystemBitSet ConstSubsystemsBitSet
 
FMassExternalSubsystemBitSet MutableSubsystemsBitSet
 
TArray< USubsystem * > Subsystems
 
TWeakObjectPtr< UWorldWorld
 

Constructor & Destructor Documentation

◆ FMassSubsystemAccess()

FMassSubsystemAccess::FMassSubsystemAccess ( UWorld InWorld = nullptr)
explicit

Member Function Documentation

◆ CacheSubsystem()

bool FMassSubsystemAccess::CacheSubsystem ( const uint32  SystemIndex)
protected

◆ CacheSubsystemRequirements()

bool FMassSubsystemAccess::CacheSubsystemRequirements ( const FMassSubsystemRequirements SubsystemRequirements)

◆ DoesRequireWorld()

template<typename T >
static constexpr bool FMassSubsystemAccess::DoesRequireWorld ( )
inlinestaticconstexpr

◆ FetchSubsystemInstance() [1/3]

template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
static T * FMassSubsystemAccess::FetchSubsystemInstance ( )
inlinestatic

◆ FetchSubsystemInstance() [2/3]

template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
static T * FMassSubsystemAccess::FetchSubsystemInstance ( UWorld World)
inlinestatic

◆ FetchSubsystemInstance() [3/3]

USubsystem * FMassSubsystemAccess::FetchSubsystemInstance ( UWorld World,
TSubclassOf< USubsystem SubsystemClass 
)
static

◆ GetMutableSubsystem() [1/2]

template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
T * FMassSubsystemAccess::GetMutableSubsystem ( )
inline

◆ GetMutableSubsystem() [2/2]

template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
T * FMassSubsystemAccess::GetMutableSubsystem ( const TSubclassOf< USubsystem SubsystemClass)
inline

◆ GetMutableSubsystemChecked() [1/2]

template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
T & FMassSubsystemAccess::GetMutableSubsystemChecked ( )
inline

◆ GetMutableSubsystemChecked() [2/2]

template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
T & FMassSubsystemAccess::GetMutableSubsystemChecked ( const TSubclassOf< USubsystem SubsystemClass)
inline

◆ GetSubsystem() [1/2]

template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
const T * FMassSubsystemAccess::GetSubsystem ( )
inline

◆ GetSubsystem() [2/2]

template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
const T * FMassSubsystemAccess::GetSubsystem ( const TSubclassOf< USubsystem SubsystemClass)
inline

◆ GetSubsystemChecked() [1/2]

template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
const T & FMassSubsystemAccess::GetSubsystemChecked ( )
inline

◆ GetSubsystemChecked() [2/2]

template<typename T , typename = typename TEnableIf<TIsDerivedFrom<T, USubsystem>::IsDerived>::Type>
const T & FMassSubsystemAccess::GetSubsystemChecked ( const TSubclassOf< USubsystem SubsystemClass)
inline

◆ GetSubsystemInternal() [1/2]

template<typename T >
T * FMassSubsystemAccess::GetSubsystemInternal ( const uint32  SystemIndex)
inlineprotected

◆ GetSubsystemInternal() [2/2]

template<typename T >
T * FMassSubsystemAccess::GetSubsystemInternal ( const uint32  SystemIndex,
const TSubclassOf< USubsystem SubsystemClass 
)
inlineprotected

◆ GetSubsystemRequirementBits()

void FMassSubsystemAccess::GetSubsystemRequirementBits ( FMassExternalSubsystemBitSet OutConstSubsystemsBitSet,
FMassExternalSubsystemBitSet OutMutableSubsystemsBitSet 
)
inline

◆ SetSubsystemRequirementBits()

void FMassSubsystemAccess::SetSubsystemRequirementBits ( const FMassExternalSubsystemBitSet InConstSubsystemsBitSet,
const FMassExternalSubsystemBitSet InMutableSubsystemsBitSet 
)
inline

◆ SetSubsystemRequirements()

void FMassSubsystemAccess::SetSubsystemRequirements ( const FMassSubsystemRequirements SubsystemRequirements)

Member Data Documentation

◆ ConstSubsystemsBitSet

FMassExternalSubsystemBitSet FMassSubsystemAccess::ConstSubsystemsBitSet
protected

◆ MutableSubsystemsBitSet

FMassExternalSubsystemBitSet FMassSubsystemAccess::MutableSubsystemsBitSet
protected

◆ Subsystems

TArray<USubsystem*> FMassSubsystemAccess::Subsystems
protected

◆ World

TWeakObjectPtr<UWorld> FMassSubsystemAccess::World
protected

The documentation for this struct was generated from the following files: