11#include "ParticleSystemManager.generated.h"
14class UParticleSystemComponent;
19#define PSC_MAN_USE_STATIC_TICK_LISTS 1
23#define PSC_MAN_TG_WAIT_FOR_ASYNC 1
35#if PSC_MAN_USE_STATIC_TICK_LISTS
58 ENGINE_API virtual FString DiagnosticMessage()
override;
75#define INITIAL_PSC_MANAGER_ASYNC_BATCH_SIZE 8
89 static void OnPreWorldFinishDestroy(
UWorld* World);
90 static void OnWorldBeginTearDown(
UWorld* World);
159 template<
bool bAsync>
164 void AddPSC(UParticleSystemComponent* PSC);
167 void HandleManagerEnabled();
169 void ClearPendingUnregister();
191 int32 bCachedParticleWorldManagerEnabled;
198#if !UE_BUILD_SHIPPING
199 static const UEnum* TickGroupEnum;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define checkSlow(expr)
Definition AssertionMacros.h:332
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ETickingGroup
Definition EngineBaseTypes.h:84
ELevelTick
Definition EngineBaseTypes.h:70
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
ENGINE_API int32 GbEnablePSCWorldManager
Definition ParticleSystemManager.cpp:23
TArray< int32, TInlineAllocator< INITIAL_PSC_MANAGER_ASYNC_BATCH_SIZE > > FPSCManagerAsyncTickBatch
Definition ParticleSystemManager.h:76
Definition IDelegateInstance.h:14
Definition GCObject.h:128
Definition NameTypes.h:617
Definition ParticleSystemManager.h:82
virtual void AddReferencedObjects(FReferenceCollector &Collector) override
Definition ParticleSystemManager.cpp:282
void HandlePostGarbageCollect()
Definition ParticleSystemManager.cpp:336
virtual ~FParticleSystemWorldManager()
Definition ParticleSystemManager.cpp:276
void Cleanup()
Definition ParticleSystemManager.cpp:348
UParticleSystemComponent * GetManagedComponent(int32 Handle)
Definition ParticleSystemManager.h:137
void Dump()
Definition ParticleSystemManager.cpp:842
static void OnShutdown()
Definition ParticleSystemManager.cpp:187
bool RegisterComponent(UParticleSystemComponent *PSC)
Definition ParticleSystemManager.cpp:374
static void OnStartup()
Definition ParticleSystemManager.cpp:176
static FParticleSystemWorldManager * Get(UWorld *World)
Definition ParticleSystemManager.h:118
static void SetFirstHighPriTickGroup(int FirstHighPriTickGroupIndex)
Definition ParticleSystemManager.cpp:882
void SetTickGroupPriority(const int32 ParticleSystemTickGroupIndex, const bool bHighPriority)
Definition ParticleSystemManager.cpp:876
FPSCTickData & GetTickData(int32 Handle)
Definition ParticleSystemManager.h:136
void UnregisterComponent(UParticleSystemComponent *PSC)
Definition ParticleSystemManager.cpp:418
virtual FString GetReferencerName() const override
Definition ParticleSystemManager.cpp:331
Definition UObjectGlobals.h:2492
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition EnumAsByte.h:22
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition ActorComponent.h:152
Type
Definition TaskGraphInterfaces.h:57
U16 Index
Definition radfft.cpp:71
Definition ParticleSystemManager.h:29
uint8 bPendingReregister
Definition ParticleSystemManager.h:48
uint8 bCanTickConcurrent
Definition ParticleSystemManager.h:44
TObjectPtr< UActorComponent > PrereqComponent
Definition ParticleSystemManager.h:33
TEnumAsByte< ETickingGroup > TickGroup
Definition ParticleSystemManager.h:41
int32 TickListHandle
Definition ParticleSystemManager.h:37
uint8 bPendingUnregister
Definition ParticleSystemManager.h:46
FPSCTickData()
Definition ParticleSystemManager.cpp:921
Definition ParticleSystemManager.h:53
FParticleSystemWorldManager * Owner
Definition ParticleSystemManager.h:62
Definition EngineBaseTypes.h:173
Definition WorldInitializationValues.h:9
Definition ObjectPtr.h:488
Definition StructOpsTypeTraits.h:11
@ WithCopy
Definition StructOpsTypeTraits.h:17
Definition StructOpsTypeTraits.h:46