FProcessorDependencySolver

Choose your operating system:

Windows

macOS

Linux

References

Module

MassEntity

Header

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

Include

#include "MassProcessorDependencySolver.h"

Syntax

struct FProcessorDependencySolver

Variables

Name Description

Protected variable

bool

 

bAnyCyclesDetected

Protected variable

FString

 

DependencyGraphFileName

Protected variable

FNode

 

GroupRootNode

Protected variable

TArrayView< UMa...

 

Processors

Constructors

Name Description

Public function

FProcessorDependencySolver

(
    TArrayView< UMassProcessor* > ...,
    const FName Name,
    const FString& InDependencyGraphFi...
)

Functions

Name Description

Protected function

void

 

AddNode

(
    FName GroupName,
    UMassProcessor& Processor
)

Protected function

void

 

BuildDependencies

(
    FNode& RootNode
)

Public function Static

void

 

CreateSubGroupNames

(
    FName InGroupName,
    TArray< FString >& SubGroupNames
)

Protected function Const

void

 

DumpGraph

(
    FArchive& LogFile
)

Protected function

void

 

LogNode

(
    const FNode& RootNode,
    const FNode* ParentNode,
    int Indent
)

Protected function Static

FString

 

NameViewToString

(
    TConstArrayView< FName > View
)

Protected function Static

bool

 

PerformPrioritySolverStep

(
    FNode& RootNode,
    TArray< int32 >& InOutIndicesRemai...,
    TArray< int32 >& OutNodeIndices
)

Traverses InOutIndicesRemaining in search of the first RootNode's node that has no dependencies left.

Protected function Static

int32

 

PerformSolverStep

(
    FNode& RootNode,
    TArray< int32 >& InOutIndicesRemai...,
    TArray< int32 >& OutNodeIndices
)

Traverses RootNode's child nodes indicated by InOutIndicesRemaining and appends to OutNodeIndices the ones that have no dependencies.

Public function

void

 

ResolveDependencies

(
    TArray< FOrderInfo >& OutResult,
    TConstArrayView< const FName > Prio...
)

Protected function

void

 

Solve

(
    FNode& RootNode,
    TConstArrayView< const FName > Prio...,
    TArray< FProcessorDependencySolver:...,
    int LoggingIndent
)

Classes

Name

Description

Public struct

FOrderInfo