Files
UnrealEngineUWP/Engine/Source/Runtime/AnimGraphRuntime/Public/AnimNodes/AnimNode_StateResult.h
jose villarroel 95dd318cea Added Animation State Machine Library for common helper functions used in anim node functions:
*Added IsStateBlendingIn/Out to library
#jira none
[at]Thomas.Sarkanen, [at]Koray.Hagen
#preflight 619eab6488439fccfeab1615

#ROBOMERGE-AUTHOR: jose.villarroel
#ROBOMERGE-SOURCE: CL 18326309 in //UE5/Release-5.0/... via CL 18326338
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18326360 by jose villarroel in ue5-release-engine-test branch]
2021-11-30 12:12:43 -05:00

45 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "Animation/AnimNode_Root.h"
#include "AnimNode_StateResult.generated.h"
// Root node of an state machine state (sink node).
// We dont use AnimNode_Root to let us distinguish these nodes in the property list at link time.
USTRUCT(BlueprintInternalUseOnly)
struct ANIMGRAPHRUNTIME_API FAnimNode_StateResult : public FAnimNode_Root
{
GENERATED_USTRUCT_BODY()
/** Used to upgrade old FAnimNode_Roots to FAnimNode_StateResult */
bool SerializeFromMismatchedTag(const FPropertyTag& Tag, FStructuredArchive::FSlot Slot);
#if WITH_EDITORONLY_DATA
protected:
/** The index of the state this node belongs to. Filled in during the owning state machine's compilation. */
UPROPERTY(meta = (FoldProperty))
int32 StateIndex = -1;
#endif
public:
#if WITH_EDITORONLY_DATA
void SetStateIndex(int32 InStateIndex) { StateIndex = InStateIndex; }
#endif
int32 GetStateIndex() const;
};
template<>
struct TStructOpsTypeTraits<FAnimNode_StateResult>
: public TStructOpsTypeTraitsBase2<FAnimNode_StateResult>
{
enum
{
WithStructuredSerializeFromMismatchedTag = true,
};
};