|
| MASSENTITY_API | FMassObserverManager () |
| |
| FMassEntityManager & | GetEntityManager () |
| |
| const FMassFragmentBitSet * | GetObservedFragmentBitSets () const |
| |
| const FMassFragmentBitSet & | GetObservedFragmentsBitSet (const EMassObservedOperation Operation) const |
| |
| const FMassTagBitSet * | GetObservedTagBitSets () const |
| |
| const FMassTagBitSet & | GetObservedTagsBitSet (const EMassObservedOperation Operation) const |
| |
| bool | HasObserversForBitSet (const FMassFragmentBitSet &InQueriedBitSet, const EMassObservedOperation Operation) const |
| |
| bool | HasObserversForBitSet (const FMassTagBitSet &InQueriedBitSet, const EMassObservedOperation Operation) const |
| |
| bool | HasObserversForComposition (const FMassArchetypeCompositionDescriptor &Composition, const EMassObservedOperation Operation) const |
| |
| MASSENTITY_API bool | OnPostEntitiesCreated (const FMassArchetypeEntityCollection &EntityCollection) |
| |
| MASSENTITY_API bool | OnPostEntityCreated (const FMassEntityHandle Entity, const FMassArchetypeCompositionDescriptor &Composition) |
| |
| MASSENTITY_API bool | OnPreEntitiesDestroyed (const FMassArchetypeEntityCollection &EntityCollection) |
| |
| MASSENTITY_API bool | OnPreEntitiesDestroyed (UE::Mass::FProcessingContext &ProcessingContext, const FMassArchetypeEntityCollection &EntityCollection) |
| |
| MASSENTITY_API bool | OnPreEntityDestroyed (const FMassArchetypeCompositionDescriptor &ArchetypeComposition, const FMassEntityHandle Entity) |
| |
| bool | OnPostCompositionAdded (const FMassEntityHandle Entity, const FMassArchetypeCompositionDescriptor &Composition) |
| |
| bool | OnPreCompositionRemoved (const FMassEntityHandle Entity, const FMassArchetypeCompositionDescriptor &Composition) |
| |
| bool | OnCompositionChanged (const FMassArchetypeEntityCollection &EntityCollection, const FMassArchetypeCompositionDescriptor &Composition, const EMassObservedOperation Operation, UE::Mass::FProcessingContext *ProcessingContext=nullptr) |
| |
| bool | OnCompositionChanged (FMassEntityHandle EntityHandle, const FMassArchetypeCompositionDescriptor &Composition, const EMassObservedOperation Operation, UE::Mass::FProcessingContext *ProcessingContext=nullptr) |
| |
template<typename T , typename U = std::decay_t<T>>
requires (std::is_same_v<U, FMassFragmentBitSet> || std::is_same_v<U, FMassTagBitSet>) |
| bool | OnCompositionChanged (const FMassArchetypeEntityCollection &EntityCollection, T &&BitSet, const EMassObservedOperation Operation, UE::Mass::FProcessingContext *ProcessingContext=nullptr) |
| |
template<typename T , typename U = std::decay_t<T>>
requires (std::is_same_v<U, FMassFragmentBitSet> || std::is_same_v<U, FMassTagBitSet>) |
| bool | OnCompositionChanged (const FMassEntityHandle Entity, T &&BitSet, const EMassObservedOperation Operation, UE::Mass::FProcessingContext *ProcessingContext=nullptr) |
| |
| MASSENTITY_API void | AddObserverInstance (TNotNull< const UScriptStruct * > ElementType, EMassObservedOperationFlags OperationFlags, TNotNull< UMassProcessor * > ObserverProcessor) |
| |
| MASSENTITY_API void | AddObserverInstance (const UScriptStruct &ElementType, EMassObservedOperation Operation, UMassProcessor &ObserverProcessor) |
| |
| MASSENTITY_API void | AddObserverInstance (TNotNull< UMassObserverProcessor * > ObserverProcessor) |
| |
| MASSENTITY_API void | RemoveObserverInstance (TNotNull< const UScriptStruct * > ElementType, EMassObservedOperationFlags OperationFlags, TNotNull< UMassProcessor * > ObserverProcessor) |
| |
| MASSENTITY_API void | RemoveObserverInstance (const UScriptStruct &ElementType, EMassObservedOperation Operation, UMassProcessor &ObserverProcessor) |
| |
| MASSENTITY_API void | ReleaseCreationHandle (UE::Mass::ObserverManager::FCreationNotificationHandle InCreationNotificationHandle) |
| |
| MASSENTITY_API void | DebugGatherUniqueProcessors (TArray< const UMassProcessor * > &OutProcessors) const |
| |
| MASSENTITY_API bool | OnPostEntitiesCreated (UE::Mass::FProcessingContext &InProcessingContext, const FMassArchetypeEntityCollection &EntityCollection) |
| |
| MASSENTITY_API void | OnPostFragmentOrTagAdded (const UScriptStruct &FragmentOrTagType, const FMassArchetypeEntityCollection &EntityCollection) |
| |
| MASSENTITY_API void | OnPreFragmentOrTagRemoved (const UScriptStruct &FragmentOrTagType, const FMassArchetypeEntityCollection &EntityCollection) |
| |
| MASSENTITY_API void | OnFragmentOrTagOperation (const UScriptStruct &FragmentOrTagType, const FMassArchetypeEntityCollection &EntityCollection, const EMassObservedOperation Operation) |
| |
| MASSENTITY_API bool | OnPostEntitiesCreated (UE::Mass::FProcessingContext &InProcessingContext, TConstArrayView< FMassArchetypeEntityCollection > EntityCollections) |
| |
| MASSENTITY_API bool | OnCompositionChanged (UE::Mass::FProcessingContext &InProcessingContext, const FMassArchetypeEntityCollection &EntityCollection, const FMassArchetypeCompositionDescriptor &Composition, const EMassObservedOperation Operation) |
| |
A type that encapsulates logic related to notifying interested parties of entity composition changes. Upon creation it reads information from UMassObserverRegistry and instantiates processors interested in handling given fragment type addition or removal.
Resumes observer triggering. All notifications collected in lock's BufferedNotifications will be processed at this point.
Note that due to all the notifications being sent our are being sent post-factum the "OnPreRemove" observers won't be able to access the data being removed, since the remove operation has already been performed. All the instances of removal-observers being triggered will be logged.
Intended to be called automatically by ~FObserverLock