Files
UnrealEngineUWP/Engine/Source/Editor/AnimationBlueprintEditor/Private/AnimationStateNodes/SGraphNodeAnimState.h
jose villarroel 23f73d1dc7 Added state aliasing for the anim graph state machine.
#review-15715574 @Thomas.Sarkanen, @Aaron.Cox
#preflight 6054c8f5c27ab80001b00547

[CL 15749554 by jose villarroel in ue5-main branch]
2021-03-19 14:32:13 -04:00

72 lines
2.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Styling/SlateColor.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "SNodePanel.h"
#include "SGraphNode.h"
#include "SGraphPin.h"
class SToolTip;
class UAnimStateConduitNode;
class UAnimStateNodeBase;
//
// Forward declarations.
//
class UAnimStateNodeBase;
class UAnimStateConduitNode;
class UAnimStateEntryNode;
class SGraphNodeAnimState : public SGraphNode
{
public:
SLATE_BEGIN_ARGS(SGraphNodeAnimState){}
SLATE_END_ARGS()
void Construct(const FArguments& InArgs, UAnimStateNodeBase* InNode);
// SNodePanel::SNode interface
virtual void GetNodeInfoPopups(FNodeInfoContext* Context, TArray<FGraphInformationPopupInfo>& Popups) const override;
// End of SNodePanel::SNode interface
// SGraphNode interface
virtual void UpdateGraphNode() override;
virtual void CreatePinWidgets() override;
virtual void AddPin(const TSharedRef<SGraphPin>& PinToAdd) override;
virtual TSharedPtr<SToolTip> GetComplexTooltip() override;
// End of SGraphNode interface
// SWidget interface
void OnMouseEnter(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override;
void OnMouseLeave(const FPointerEvent& MouseEvent) override;
// End of SWidget interface
static void GetStateInfoPopup(UEdGraphNode* GraphNode, TArray<FGraphInformationPopupInfo>& Popups);
protected:
FSlateColor GetBorderBackgroundColor() const;
virtual FSlateColor GetBorderBackgroundColor_Internal(FLinearColor InactiveStateColor, FLinearColor ActiveStateColorDim, FLinearColor ActiveStateColorBright) const;
virtual FText GetPreviewCornerText() const;
virtual const FSlateBrush* GetNameIcon() const;
};
class SGraphNodeAnimConduit : public SGraphNodeAnimState
{
public:
SLATE_BEGIN_ARGS(SGraphNodeAnimConduit){}
SLATE_END_ARGS()
void Construct(const FArguments& InArgs, UAnimStateConduitNode* InNode);
// SNodePanel::SNode interface
virtual void GetNodeInfoPopups(FNodeInfoContext* Context, TArray<FGraphInformationPopupInfo>& Popups) const override;
// End of SNodePanel::SNode interface
protected:
virtual FText GetPreviewCornerText() const override;
virtual const FSlateBrush* GetNameIcon() const override;
};