UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMassProcessorDependencySolver::FNode Struct Reference

#include <MassProcessorDependencySolver.h>

Public Member Functions

 FNode (const FName InName, UMassProcessor *InProcessor, const int32 InNodeIndex=INDEX_NONE)
 
bool IsGroup () const
 
bool IncreaseWaitingNodesCount (TArrayView< FNode > InAllNodes, const int32 IterationsLimit, TArray< int32 > &OutCycleIndices)
 
bool IncreaseWaitingNodesCountAndPriority (TArrayView< FNode > InAllNodes, const int32 IterationsLimit, TArray< int32 > &OutCycleIndices, const int32 InChildPriority=TNumericLimits< int32 >::Min())
 
void UpdateExecutionPriority (const int32 ChildExecutionPriority)
 

Public Attributes

FName Name = TEXT("")
 
UMassProcessorProcessor = nullptr
 
TArray< int32OriginalDependencies
 
TArray< int32TransientDependencies
 
TArray< FNameExecuteBefore
 
TArray< FNameExecuteAfter
 
FMassExecutionRequirements Requirements
 
int32 NodeIndex = INDEX_NONE
 
int32 TotalWaitingNodes = 0
 
int32 MaxExecutionPriority = 0
 
int32 SequencePositionIndex = 0
 
TArray< int32SubNodeIndices
 
TArray< FMassArchetypeHandleValidArchetypes
 

Constructor & Destructor Documentation

◆ FNode()

FMassProcessorDependencySolver::FNode::FNode ( const FName  InName,
UMassProcessor InProcessor,
const int32  InNodeIndex = INDEX_NONE 
)
inline

Member Function Documentation

◆ IncreaseWaitingNodesCount()

bool FMassProcessorDependencySolver::FNode::IncreaseWaitingNodesCount ( TArrayView< FNode InAllNodes,
const int32  IterationsLimit,
TArray< int32 > &  OutCycleIndices 
)
Returns
true when everything's fine, false when cycles have been encountered. If that happens OutCycleIndices gets filled with the relevant node indices.

◆ IncreaseWaitingNodesCountAndPriority()

bool FMassProcessorDependencySolver::FNode::IncreaseWaitingNodesCountAndPriority ( TArrayView< FNode InAllNodes,
const int32  IterationsLimit,
TArray< int32 > &  OutCycleIndices,
const int32  InChildPriority = TNumericLimits<int32>::Min() 
)

◆ IsGroup()

bool FMassProcessorDependencySolver::FNode::IsGroup ( ) const
inline

◆ UpdateExecutionPriority()

void FMassProcessorDependencySolver::FNode::UpdateExecutionPriority ( const int32  ChildExecutionPriority)
inline

Member Data Documentation

◆ ExecuteAfter

TArray<FName> FMassProcessorDependencySolver::FNode::ExecuteAfter

◆ ExecuteBefore

TArray<FName> FMassProcessorDependencySolver::FNode::ExecuteBefore

◆ MaxExecutionPriority

int32 FMassProcessorDependencySolver::FNode::MaxExecutionPriority = 0

Indicates the maximum execution priority represented by this node or any od the nodes that depend on it in a logical sense - i.e. it does not include the nodes that are dependencies just by blocing required resources

◆ Name

FName FMassProcessorDependencySolver::FNode::Name = TEXT("")

◆ NodeIndex

int32 FMassProcessorDependencySolver::FNode::NodeIndex = INDEX_NONE

◆ OriginalDependencies

TArray<int32> FMassProcessorDependencySolver::FNode::OriginalDependencies

◆ Processor

UMassProcessor* FMassProcessorDependencySolver::FNode::Processor = nullptr

◆ Requirements

FMassExecutionRequirements FMassProcessorDependencySolver::FNode::Requirements

◆ SequencePositionIndex

int32 FMassProcessorDependencySolver::FNode::SequencePositionIndex = 0

indicates how deep within dependencies graph this give node is, or in other words, what's the longest sequence from this node to a dependency-less "parent" node

◆ SubNodeIndices

TArray<int32> FMassProcessorDependencySolver::FNode::SubNodeIndices

◆ TotalWaitingNodes

int32 FMassProcessorDependencySolver::FNode::TotalWaitingNodes = 0

indicates how often given node can be found in dependencies sequence for other nodes

◆ TransientDependencies

TArray<int32> FMassProcessorDependencySolver::FNode::TransientDependencies

◆ ValidArchetypes

TArray<FMassArchetypeHandle> FMassProcessorDependencySolver::FNode::ValidArchetypes

The documentation for this struct was generated from the following files: