// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "WorkflowOrientedApp/WorkflowTabFactory.h" #include "ISkeletonTree.h" #include "PhysicsAssetGraph/SPhysicsAssetGraph.h" class UPhysicsAsset; class IEditableSkeleton; struct FPhysicsAssetGraphSummoner : public FWorkflowTabFactory { public: FPhysicsAssetGraphSummoner(TSharedPtr InHostingApp, UPhysicsAsset* InPhysicsAsset, const TSharedRef& InEditableSkeleton, FOnPhysicsAssetGraphCreated InOnPhysicsAssetGraphCreated, FOnGraphObjectsSelected InOnGraphObjectsSelected); /** FWorkflowTabFactory interface */ virtual TSharedRef CreateTabBody(const FWorkflowTabSpawnInfo& Info) const override; virtual TSharedPtr CreateTabToolTipWidget(const FWorkflowTabSpawnInfo& Info) const override; /** Reference to our Physics Asset */ TWeakObjectPtr PhysicsAssetPtr; /** Reference to our editable skeleton */ TWeakPtr EditableSkeletonPtr; /** Graph created delegate */ FOnPhysicsAssetGraphCreated OnPhysicsAssetGraphCreated; /** Object selected delegate */ FOnGraphObjectsSelected OnGraphObjectsSelected; };