UMassProcessingPhaseManager

MassProcessingPhaseManager owns separate [FMassProcessingPhase](API\Plugins\MassEntity\FMassProcessingPhase) instances for every ETickingGroup.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

UObjectBase

UObjectBaseUtility

UObject

UMassProcessingPhaseManager

References

Module

MassEntity

Header

/Engine/Plugins/Runtime/MassEntity/Source/MassEntity/Public/MassProcessingPhase.h

Include

#include "MassProcessingPhase.h"

Syntax

UCLASS(Transient, HideCategories=(Tick))
class UMassProcessingPhaseManager : public UObject

Remarks

MassProcessingPhaseManager owns separate FMassProcessingPhase instances for every ETickingGroup. When activated via Start function it registers and enables the FMassProcessingPhase instances which themselves are tick functions that host UMassCompositeProcessor which they trigger as part of their Tick function. MassProcessingPhaseManager serves as an interface to said FMassProcessingPhase instances and allows initialization with MassSchematics (via InitializePhases function) as well as registering arbitrary functions to be called when a particular phase starts of ends (via GetOnPhaseStart and GetOnPhaseEnd functions).

Variables

Name Description

Protected variable

EMassProcessing...

 

CurrentPhase

Protected variable UProperty

UMassEntitySubs...

 

EntitySubsystem

Protected variable

friend

 

FMassProcessingPhase

Protected variable

FDelegateHandle

 

MassEntitySettingsChangeHandle

Protected variable UProperty Category visibleanywhere

FMassProcessing...

 

ProcessingPhases

Functions

Name Description

Protected function Virtual

void

 

CreatePhases()

Creates phase processors instances for each declared phase name, based on MassEntitySettings

Protected function

void

 

EnableTickFunctions

(
    const UWorld& World
)

Public function

UMassEntityS...

 

GetEntitySubsystemRef()

Public function

FMassProcess...

 

GetOnPhaseEnd

(
    const EMassProcessingPhase Phase
)

Retrieves OnPhaseEnd multicast delegate's reference for a given Phase

Public function

FMassProcess...

 

GetOnPhaseStart

(
    const EMassProcessingPhase Phase
)

Retrieves OnPhaseStart multicast delegate's reference for a given Phase

Public function

void

 

InitializePhases

(
    UObject& InProcessorOwner
)

Populates hosted FMassProcessingPhase instances with Processors read from MassEntitySettings configuration.

Public function Const

bool

 

IsDuringMassProcessing()

Returns true when called while any of the ProcessingPhases is actively executing its processors.

Public function Const

bool

 

IsRunning()

Protected function Virtual

void

 

OnMassEntitySettingsChange

(
    const FPropertyChangedEvent& Prope...
)

Protected function

void

 

OnPhaseEnd

(
    FMassProcessingPhase& Phase
)

Called by the given Phase at the very end of its execution function (the FMassProcessingPhase::ExecuteTick), after the FMassProcessingPhase.OnPhaseEnd broadcast delegate

Protected function

void

 

OnPhaseStart

(
    const FMassProcessingPhase& Phase
)

Called by the given Phase at the very start of its execution function (the FMassProcessingPhase::ExecuteTick), even before the FMassProcessingPhase.OnPhaseStart broadcast delegate

Public function

void

 

SetPhaseProcessor

(
    const EMassProcessingPhase Phase,
    UMassCompositeProcessor* Phase...
)

Sets the composite processor used for Phase processing phase.

Public function

void

 

Start

(
    UWorld& World
)

Both flavors of Start function boil down to setting EntitySubsystem and Executor.

Public function

void

 

Start

(
    UMassEntitySubsystem& InEntitySubs...
)

Both flavors of Start function boil down to setting EntitySubsystem and Executor.

Public function

void

 

Stop()

Overridden from UObject

Name Description

Protected function Virtual

void

 

BeginDestroy()

Called before destroying the object.

Protected function Virtual

void

 

PostInitProperties()

Called after the C++ constructor and after the properties have been initialized, including those loaded from config.