// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Containers/ContainersFwd.h" #include "Templates/FunctionFwd.h" class UEdGraph; class USceneStateBlueprint; class USceneStateMachineGraph; class USceneStateMachineNode; namespace UE::PropertyBinding { struct FPropertyCreationDescriptor; } namespace UE::SceneState::Graph { enum class EIterationResult : uint8 { Continue, Break, }; /** * Visits all the Scene State Machine Nodes in the given Graphs recursively. * For each node it calls the passed in function * @param InGraphs the graphs to look into * @param InFunc the callable for each node, with option to break execution */ void VisitNodes(TConstArrayView InGraphs, TFunctionRef InFunc); /** * Visits all the Scene State Machine Graphs in the given Graphs recursively. * For each node it calls the passed in function * @param InGraphs the graphs to look into * @param InFunc the callable for each node, with option to break execution */ void VisitGraphs(TConstArrayView InGraphs, TFunctionRef InFunc); /** * Creates Blueprint Variables that match the given Creation Descs * @param InBlueprint the blueprint to add variables to * @param InPropertyCreationDescs describes property names, types, etc */ void CreateBlueprintVariables(USceneStateBlueprint* InBlueprint, TArrayView InPropertyCreationDescs); } // UE::SceneState::Graph