|
| | FMassEntityQuery ()=default |
| |
| UE_API | FMassEntityQuery (UMassProcessor &Owner) |
| |
| UE_API | FMassEntityQuery (const TSharedPtr< FMassEntityManager > &EntityManager) |
| |
| UE_API | FMassEntityQuery (const TSharedRef< FMassEntityManager > &EntityManager, std::initializer_list< UScriptStruct * > InitList) |
| |
| UE_API | FMassEntityQuery (const TSharedRef< FMassEntityManager > &EntityManager, TConstArrayView< const UScriptStruct * > InitList) |
| |
| UE_API void | RegisterWithProcessor (UMassProcessor &Owner) |
| |
| UE_API void | ForEachEntityChunk (FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction) |
| |
| UE_API void | ForEachEntityChunk (FMassExecutionContext &ExecutionContext, UE::Mass::FExecutionLimiter &Limiter, const FMassExecuteFunction &ExecuteFunction) |
| |
| UE_API void | ForEachEntityChunk (const FMassArchetypeEntityCollection &EntityCollection, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction) |
| |
| UE_API void | ParallelForEachEntityChunk (FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction, const EParallelExecutionFlags Flags=EParallelExecutionFlags::Default) |
| |
| UE_API void | ForEachEntityChunkInCollections (TConstArrayView< FMassArchetypeEntityCollection > EntityCollections, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction) |
| |
| UE_API void | ParallelForEachEntityChunkInCollection (TConstArrayView< FMassArchetypeEntityCollection > EntityCollections, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction, const EParallelExecutionFlags Flags=EParallelExecutionFlags::Default) |
| |
| UE_API void | CacheArchetypes () |
| |
| void | Clear () |
| |
| void | DirtyCachedData () |
| |
| FMassSubsystemRequirements & | AddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode) |
| |
| bool | DoesRequireGameThreadExecution () const |
| |
| void | RequireMutatingWorldAccess () |
| |
| bool | IsEmpty () const |
| |
| const TArray< FMassArchetypeHandle > & | GetArchetypes () const |
| |
| UE_API int32 | GetNumMatchingEntities () |
| |
| UE_API int32 | GetNumMatchingEntities (TConstArrayView< FMassArchetypeEntityCollection > EntityCollections) |
| |
| UE_API bool | HasMatchingEntities () |
| |
| UE_API TArray< FMassArchetypeEntityCollection > | CreateMatchingEntitiesCollection () |
| |
| UE_API TArray< FMassEntityHandle > | GetMatchingEntityHandles () |
| |
| void | SetChunkFilter (const FMassChunkConditionFunction &InFunction) |
| |
| void | ClearChunkFilter () |
| |
| bool | HasChunkFilter () const |
| |
| UE_API void | GroupBy (UE::Mass::FArchetypeGroupType GroupType) |
| |
| UE_API void | GroupBy (UE::Mass::FArchetypeGroupType GroupType, const TFunction< bool(const UE::Mass::FArchetypeGroupID, const UE::Mass::FArchetypeGroupID)> &Predicate) |
| |
| UE_API void | ResetGrouping () |
| |
| bool | IsGrouping () const |
| |
| const TSharedPtr< FMassEntityManager > & | GetEntityManager () const |
| |
| UE_API const FMassQueryRequirementIndicesMapping & | GetRequirementsMappingForArchetype (const FMassArchetypeHandle ArchetypeHandle) const |
| |
| UE_API void | ExportRequirements (FMassExecutionRequirements &OutRequirements) const |
| |
| void | SetParallelCommandBufferEnabled (const bool bInAllowParallelCommands) |
| |
| UE_API void | DebugEnableEntityOwnerLogging () |
| |
| UE_API | FMassEntityQuery (std::initializer_list< UScriptStruct * > InitList) |
| |
| UE_API | FMassEntityQuery (TConstArrayView< const UScriptStruct * > InitList) |
| |
| UE_API void | ForEachEntityChunk (FMassEntityManager &EntityManager, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction) |
| |
| UE_API void | ForEachEntityChunk (const FMassArchetypeEntityCollection &EntityCollection, FMassEntityManager &EntityManager, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction) |
| |
| UE_API void | ParallelForEachEntityChunk (FMassEntityManager &EntityManager, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction, const EParallelForMode ParallelMode=Default) |
| |
| UE_API void | ForEachEntityChunkInCollections (TConstArrayView< FMassArchetypeEntityCollection > EntityCollections, FMassEntityManager &EntityManager, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction) |
| |
| UE_API void | ParallelForEachEntityChunkInCollection (TConstArrayView< FMassArchetypeEntityCollection > EntityCollections, FMassEntityManager &EntityManager, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction, const EParallelForMode ParallelMode) |
| |
| UE_API void | CacheArchetypes (const FMassEntityManager &InEntityManager) |
| |
| UE_API int32 | GetNumMatchingEntities (FMassEntityManager &InEntityManager) |
| |
| UE_API bool | HasMatchingEntities (FMassEntityManager &InEntityManager) |
| |
| template<typename T > |
| FMassSubsystemRequirements & | AddSubsystemRequirement (const EMassFragmentAccess AccessMode) |
| |
| FMassSubsystemRequirements & | AddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode, const bool bGameThreadOnly) |
| |
| FMassSubsystemRequirements & | AddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode, const TSharedRef< FMassEntityManager > &EntityManager) |
| |
| FMassSubsystemRequirements & | AddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode) |
| |
| | FMassFragmentRequirements ()=default |
| |
| MASSENTITY_API | FMassFragmentRequirements (const TSharedPtr< FMassEntityManager > &EntityManager) |
| |
| MASSENTITY_API | FMassFragmentRequirements (const TSharedRef< FMassEntityManager > &EntityManager) |
| |
| MASSENTITY_API void | Initialize (const TSharedRef< FMassEntityManager > &EntityManager) |
| |
| FMassFragmentRequirements & | AddElementRequirement (TNotNull< const UScriptStruct * > ElementType, const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All) |
| |
| FMassFragmentRequirements & | AddRequirement (const UScriptStruct *FragmentType, const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All) |
| |
| template<typename T > |
| FMassFragmentRequirements & | AddRequirement (const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All) |
| |
| FMassFragmentRequirements & | AddTagRequirement (TNotNull< const UScriptStruct * > TagType, const EMassFragmentPresence Presence) |
| |
| void | AddTagRequirement (const UScriptStruct &TagType, const EMassFragmentPresence Presence) |
| |
| template<typename T > |
| FMassFragmentRequirements & | AddTagRequirement (const EMassFragmentPresence Presence) |
| |
| template<EMassFragmentPresence Presence> |
| FMassFragmentRequirements & | AddTagRequirements (const FMassTagBitSet &TagBitSet) |
| |
| MASSENTITY_API FMassFragmentRequirements & | ClearTagRequirements (const FMassTagBitSet &TagsToRemoveBitSet) |
| |
| template<typename T > |
| FMassFragmentRequirements & | AddChunkRequirement (const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All) |
| |
| FMassFragmentRequirements & | AddChunkRequirement (TNotNull< const UScriptStruct * > ChunkFragmentType, const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All) |
| |
| template<typename T > |
| FMassFragmentRequirements & | AddConstSharedRequirement (const EMassFragmentPresence Presence=EMassFragmentPresence::All) |
| |
| FMassFragmentRequirements & | AddConstSharedRequirement (const UScriptStruct *FragmentType, const EMassFragmentPresence Presence=EMassFragmentPresence::All) |
| |
| template<typename T > |
| FMassFragmentRequirements & | AddSharedRequirement (const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All) |
| |
| FMassFragmentRequirements & | AddSharedRequirement (TNotNull< const UScriptStruct * > SharedFragmentType, const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All) |
| |
| MASSENTITY_API void | Reset () |
| |
| MASSENTITY_API bool | CheckValidity () const |
| |
| TConstArrayView< FMassFragmentRequirementDescription > | GetFragmentRequirements () const |
| |
| TConstArrayView< FMassFragmentRequirementDescription > | GetChunkFragmentRequirements () const |
| |
| TConstArrayView< FMassFragmentRequirementDescription > | GetConstSharedFragmentRequirements () const |
| |
| TConstArrayView< FMassFragmentRequirementDescription > | GetSharedFragmentRequirements () const |
| |
| const FMassFragmentBitSet & | GetRequiredAllFragments () const |
| |
| const FMassFragmentBitSet & | GetRequiredAnyFragments () const |
| |
| const FMassFragmentBitSet & | GetRequiredOptionalFragments () const |
| |
| const FMassFragmentBitSet & | GetRequiredNoneFragments () const |
| |
| const FMassTagBitSet & | GetRequiredAllTags () const |
| |
| const FMassTagBitSet & | GetRequiredAnyTags () const |
| |
| const FMassTagBitSet & | GetRequiredNoneTags () const |
| |
| const FMassTagBitSet & | GetRequiredOptionalTags () const |
| |
| const FMassChunkFragmentBitSet & | GetRequiredAllChunkFragments () const |
| |
| const FMassChunkFragmentBitSet & | GetRequiredOptionalChunkFragments () const |
| |
| const FMassChunkFragmentBitSet & | GetRequiredNoneChunkFragments () const |
| |
| const FMassSharedFragmentBitSet & | GetRequiredAllSharedFragments () const |
| |
| const FMassSharedFragmentBitSet & | GetRequiredOptionalSharedFragments () const |
| |
| const FMassSharedFragmentBitSet & | GetRequiredNoneSharedFragments () const |
| |
| const FMassConstSharedFragmentBitSet & | GetRequiredAllConstSharedFragments () const |
| |
| const FMassConstSharedFragmentBitSet & | GetRequiredOptionalConstSharedFragments () const |
| |
| const FMassConstSharedFragmentBitSet & | GetRequiredNoneConstSharedFragments () const |
| |
| bool | IsInitialized () const |
| |
| MASSENTITY_API bool | IsEmpty () const |
| |
| bool | HasPositiveRequirements () const |
| |
| bool | HasNegativeRequirements () const |
| |
| bool | HasOptionalRequirements () const |
| |
| MASSENTITY_API bool | DoesArchetypeMatchRequirements (const FMassArchetypeHandle &ArchetypeHandle) const |
| |
| MASSENTITY_API bool | DoesArchetypeMatchRequirements (const FMassArchetypeCompositionDescriptor &ArchetypeComposition) const |
| |
| MASSENTITY_API bool | DoesMatchAnyOptionals (const FMassArchetypeCompositionDescriptor &ArchetypeComposition) const |
| |
| bool | DoesRequireGameThreadExecution () const |
| |
| MASSENTITY_API void | ExportRequirements (FMassExecutionRequirements &OutRequirements) const |
| |
| MASSENTITY_API | FMassFragmentRequirements (std::initializer_list< UScriptStruct * > InitList) |
| |
| MASSENTITY_API | FMassFragmentRequirements (TConstArrayView< const UScriptStruct * > InitList) |
| |
| template<typename T > |
| FMassSubsystemRequirements & | AddSubsystemRequirement (const EMassFragmentAccess AccessMode) |
| |
| FMassSubsystemRequirements & | AddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode, const bool bGameThreadOnly) |
| |
| FMassSubsystemRequirements & | AddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode, const TSharedRef< FMassEntityManager > &EntityManager) |
| |
| FMassSubsystemRequirements & | AddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode) |
| |
| MASSENTITY_API void | Reset () |
| |
| const FMassExternalSubsystemBitSet & | GetRequiredConstSubsystems () const |
| |
| const FMassExternalSubsystemBitSet & | GetRequiredMutableSubsystems () const |
| |
| bool | IsEmpty () const |
| |
| bool | DoesRequireGameThreadExecution () const |
| |
| MASSENTITY_API void | ExportRequirements (FMassExecutionRequirements &OutRequirements) const |
| |
FMassEntityQuery is a structure that is used to trigger calculations on cached set of valid archetypes as described by requirements. See the parent classes FMassFragmentRequirements and FMassSubsystemRequirements for setting up the required fragments and subsystems.
A query to be considered valid needs declared at least one EMassFragmentPresence::All, EMassFragmentPresence::Any EMassFragmentPresence::Optional fragment requirement.