UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MassEntityUtils.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7
8class UWorld;
11
12namespace UE::Mass::Utils
13{
14
17
20
23
30
51template<typename TPred, typename TSwap>
52inline void AbstractSort(const int32 NumElements, TPred&& Predicate, TSwap&& SwapFunctor)
53{
54 if (NumElements == 0)
55 {
56 return;
57 }
58
59 TArray<int32> Indices;
60 Indices.AddUninitialized(NumElements);
61 int i = 0;
62 do
63 {
64 Indices[i] = i;
65 } while (++i < NumElements);
66
67 Indices.Sort(Predicate);
68
69 for (i = 0; i < NumElements; ++i)
70 {
71 int32 SwapFromIndex = Indices[i];
72 while (SwapFromIndex < i)
73 {
75 }
76
77 if (SwapFromIndex != i)
78 {
80 }
81 }
82}
83
84MASSENTITY_API extern FMassEntityManager* GetEntityManager(const UObject* WorldContextObject);
87
88} // namespace UE::Mass::Utils
89
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EProcessorExecutionFlags
Definition MassProcessingTypes.h:24
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Array.h:670
UE_FORCEINLINE_HINT SizeType AddUninitialized()
Definition Array.h:1664
UE_NODEBUG void Sort()
Definition Array.h:3418
Definition Object.h:95
Definition World.h:918
Definition MassEntityUtils.cpp:15
void AbstractSort(const int32 NumElements, TPred &&Predicate, TSwap &&SwapFunctor)
Definition MassEntityUtils.h:52
void CreateEntityCollections(const FMassEntityManager &EntityManager, const TConstArrayView< FMassEntityHandle > Entities, const FMassArchetypeEntityCollection::EDuplicatesHandling DuplicatesHandling, TArray< FMassArchetypeEntityCollection > &OutEntityCollections)
Definition MassEntityUtils.cpp:72
FMassEntityManager & GetEntityManagerChecked(const UWorld &World)
Definition MassEntityUtils.cpp:110
FMassEntityManager * GetEntityManager(const UObject *WorldContextObject)
Definition MassEntityUtils.cpp:95
uint8 DetermineProcessorSupportedTickTypes(const UWorld *World)
Definition MassEntityUtils.cpp:61
EProcessorExecutionFlags GetProcessorExecutionFlagsForWorld(const UWorld &World)
Definition MassEntityUtils.cpp:16
EProcessorExecutionFlags DetermineProcessorExecutionFlags(const UWorld *World, EProcessorExecutionFlags ExecutionFlagsOverride)
Definition MassEntityUtils.cpp:41
EDuplicatesHandling
Definition MassArchetypeTypes.h:147
Definition MassEntityHandle.h:13
Definition MassEntityManager.h:96