39 lines
1.5 KiB
C++
39 lines
1.5 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/ObjectMacros.h"
|
|
#include "EdGraphSchema_K2.h"
|
|
#include "AnimationTransitionSchema.generated.h"
|
|
|
|
class UAnimStateNode;
|
|
class UAnimStateTransitionNode;
|
|
struct FAnimBlueprintDebugData;
|
|
|
|
// This class is the schema for transition rule graphs in animation state machines
|
|
UCLASS(MinimalAPI)
|
|
class UAnimationTransitionSchema : public UEdGraphSchema_K2
|
|
{
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
//~ Begin UEdGraphSchema Interface.
|
|
virtual void CreateDefaultNodesForGraph(UEdGraph& Graph) const override;
|
|
virtual bool CanDuplicateGraph(UEdGraph* InSourceGraph) const override { return false; }
|
|
virtual void GetGraphDisplayInformation(const UEdGraph& Graph, /*out*/ FGraphDisplayInfo& DisplayInfo) const override;
|
|
virtual bool ShouldAlwaysPurgeOnModification() const override { return true; }
|
|
virtual void HandleGraphBeingDeleted(UEdGraph& GraphBeingRemoved) const override;
|
|
//~ End UEdGraphSchema Interface.
|
|
|
|
//~ Begin UEdGraphSchema_K2 Interface.
|
|
virtual bool DoesSupportCollapsedNodes() const override { return false; }
|
|
virtual bool DoesSupportEventDispatcher() const override { return false; }
|
|
//~ End UEdGraphSchema_K2 Interface.
|
|
|
|
private:
|
|
static UAnimStateTransitionNode* GetTransitionNodeFromGraph(const FAnimBlueprintDebugData& DebugData, const UEdGraph* Graph);
|
|
|
|
static UAnimStateNode* GetStateNodeFromGraph(const FAnimBlueprintDebugData& DebugData, const UEdGraph* Graph);
|
|
|
|
};
|