Files
UnrealEngineUWP/Engine/Source/Developer/RigVMDeveloper/Public/RigVMUserWorkflowRegistry.h
bryan sefcik de1956f47b Ran IWYU on Public headers under Engine/Source/Developer/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21064294 by bryan.sefcik
#jira
#preflight 62d5c2111062f2e63015e598

#ROBOMERGE-OWNER: bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21155249 via CL 21158121 via CL 21161259
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182053 by bryan sefcik in ue5-main branch]
2022-07-20 12:03:45 -04:00

48 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/Array.h"
#include "CoreMinimal.h"
#include "Delegates/Delegate.h"
#include "HAL/Platform.h"
#include "RigVMCore/RigVMUserWorkflow.h"
#include "RigVMModel/RigVMNode.h"
#include "Templates/Tuple.h"
#include "UObject/Object.h"
#include "UObject/ObjectMacros.h"
#include "UObject/UObjectGlobals.h"
#include "UObject/WeakObjectPtr.h"
#include "RigVMUserWorkflowRegistry.generated.h"
class UScriptStruct;
struct FFrame;
DECLARE_DYNAMIC_DELEGATE_RetVal_OneParam(TArray<FRigVMUserWorkflow>, FRigVMUserWorkflowProvider, const UObject*, InSubject);
UCLASS(BlueprintType)
class RIGVMDEVELOPER_API URigVMUserWorkflowRegistry : public UObject
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintPure, Category = FRigVMUserWorkflowRegistry)
static URigVMUserWorkflowRegistry* Get();
UFUNCTION(BlueprintCallable, Category = FRigVMUserWorkflowRegistry)
int32 RegisterProvider(const UScriptStruct* InStruct, FRigVMUserWorkflowProvider InProvider);
UFUNCTION(BlueprintCallable, Category = FRigVMUserWorkflowRegistry)
void UnregisterProvider(int32 InHandle);
UFUNCTION(BlueprintPure, Category = FRigVMUserWorkflowRegistry)
TArray<FRigVMUserWorkflow> GetWorkflows(ERigVMUserWorkflowType InType, const UScriptStruct* InStruct, const UObject* InSubject) const;
private:
int32 MaxHandle = 0;
mutable TArray<TTuple<int32, const UScriptStruct*, FRigVMUserWorkflowProvider>> Providers;
};