UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Mass::ObserverManager::FBufferedNotification Struct Reference

#include <MassObserverNotificationTypes.h>

Classes

struct  FEmptyComposition
 

Public Types

using FCompositionDescription = TVariant< FEmptyComposition, FMassArchetypeCompositionDescriptor, FMassFragmentBitSet, FMassTagBitSet >
 
using FEntitiesContainer = TVariant< FEntityCollection, FMassEntityHandle >
 

Public Member Functions

template<typename TComposition >
 FBufferedNotification (const EMassObservedOperation InType, TComposition &&Composition, FEntitiesContainer &&Entities)
 
template<typename TComposition , typename TEntities >
 FBufferedNotification (const EMassObservedOperation InType, TComposition &&Composition, TEntities &&Entities)
 
template<typename TEntities >
 FBufferedNotification (const EMassObservedOperation InType, FCompositionDescription &&Composition, TEntities &&Entities)
 
 FBufferedNotification (const EMassObservedOperation InType, FCompositionDescription &&Composition, const FMassArchetypeEntityCollection &Entities)
 
bool IsCreationNotification () const
 
void AddHandle (const FMassEntityHandle EntityHandle)
 
void AppendEntities (const FMassEntityHandle EntityHandle)
 
void AppendEntities (const TConstArrayView< FMassEntityHandle > InEntityHandles)
 
void AppendEntities (const TConstArrayView< FMassEntityHandle > InEntityHandles, FMassArchetypeEntityCollection &&EntityCollection)
 
template<typename T >
requires std::is_same_v<typename TDecay<T>::Type, FMassArchetypeEntityCollection>
void AppendEntities (T &&InEntityCollection)
 
void DirtyAffectedEntities ()
 

Static Public Member Functions

static bool AreCompositionsEqual (const FCompositionDescription &A, const FCompositionDescription &B)
 

Public Attributes

EMassObservedOperation Type
 
FCompositionDescription CompositionChange
 
FEntitiesContainer AffectedEntities
 

Detailed Description

The type represents a single "operation", as observed by the registered observers, an operation that has been performed while the FObserverLock was active. Instances of FBufferedNotification contain all the information needed to send out the necessary notification once the observers lock gets released.

Note that the type contains information necessary to sent our notification. In case of "Remove" notifications the operations has already been performed, and the data being removed is no longer available to the observers, and instances of FBufferedNotification do not host this information either.

Member Typedef Documentation

◆ FCompositionDescription

◆ FEntitiesContainer

Constructor & Destructor Documentation

◆ FBufferedNotification() [1/4]

template<typename TComposition >
UE::Mass::ObserverManager::FBufferedNotification::FBufferedNotification ( const EMassObservedOperation  InType,
TComposition &&  Composition,
FEntitiesContainer &&  Entities 
)
inline

◆ FBufferedNotification() [2/4]

UE::Mass::ObserverManager::FBufferedNotification::FBufferedNotification ( const EMassObservedOperation  InType,
TComposition &&  Composition,
TEntities &&  Entities 
)
inline

◆ FBufferedNotification() [3/4]

template<typename TEntities >
UE::Mass::ObserverManager::FBufferedNotification::FBufferedNotification ( const EMassObservedOperation  InType,
FCompositionDescription &&  Composition,
TEntities &&  Entities 
)
inline

◆ FBufferedNotification() [4/4]

UE::Mass::ObserverManager::FBufferedNotification::FBufferedNotification ( const EMassObservedOperation  InType,
FCompositionDescription &&  Composition,
const FMassArchetypeEntityCollection Entities 
)
inline

Member Function Documentation

◆ AddHandle()

void UE::Mass::ObserverManager::FBufferedNotification::AddHandle ( const FMassEntityHandle  EntityHandle)
inline

◆ AppendEntities() [1/4]

void UE::Mass::ObserverManager::FBufferedNotification::AppendEntities ( const FMassEntityHandle  EntityHandle)
inline

◆ AppendEntities() [2/4]

void UE::Mass::ObserverManager::FBufferedNotification::AppendEntities ( const TConstArrayView< FMassEntityHandle InEntityHandles)
inline

◆ AppendEntities() [3/4]

void UE::Mass::ObserverManager::FBufferedNotification::AppendEntities ( const TConstArrayView< FMassEntityHandle InEntityHandles,
FMassArchetypeEntityCollection &&  EntityCollection 
)
inline

◆ AppendEntities() [4/4]

template<typename T >
requires std::is_same_v<typename TDecay<T>::Type, FMassArchetypeEntityCollection>
void UE::Mass::ObserverManager::FBufferedNotification::AppendEntities ( T &&  InEntityCollection)
inline

◆ AreCompositionsEqual()

static bool UE::Mass::ObserverManager::FBufferedNotification::AreCompositionsEqual ( const FCompositionDescription A,
const FCompositionDescription B 
)
inlinestatic

◆ DirtyAffectedEntities()

void UE::Mass::ObserverManager::FBufferedNotification::DirtyAffectedEntities ( )
inline

◆ IsCreationNotification()

bool UE::Mass::ObserverManager::FBufferedNotification::IsCreationNotification ( ) const
inline

Member Data Documentation

◆ AffectedEntities

FEntitiesContainer UE::Mass::ObserverManager::FBufferedNotification::AffectedEntities

◆ CompositionChange

FCompositionDescription UE::Mass::ObserverManager::FBufferedNotification::CompositionChange

◆ Type

EMassObservedOperation UE::Mass::ObserverManager::FBufferedNotification::Type

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