LogoArcana  0.0.1
ArcanaStateTreeTask_PlayContextualAnim.h
Go to the documentation of this file.
1#pragma once
2
3#include "StateTreeTaskBase.h"
4#include "SmartObjectComponent.h"
5#include "ContextualAnimTypes.h"
6#include "MotionWarpingComponent.h"
7#include "StateTreeTypes.h"
8#include "ArcanaStateTreeTask_PlayContextualAnim.generated.h"
9
10class UContextualAnimSceneAsset;
11
12USTRUCT(BlueprintType)
14{
15 GENERATED_BODY()
16
17 UPROPERTY(EditAnywhere, Category = "Context")
18 TObjectPtr<AActor> Interactor = nullptr;
19
20 UPROPERTY(EditAnywhere, Category = "Context")
21 TObjectPtr<AActor> SmartObjectActor = nullptr;
22
23 UPROPERTY(EditAnywhere, Category = "Animation")
24 TObjectPtr<UContextualAnimSceneAsset> SceneAsset = nullptr;
25
26 UPROPERTY(EditAnywhere, Category = "Animation")
27 FName InteractorRole = TEXT("Interactor");
28
29 UPROPERTY(EditAnywhere, Category = "Animation")
30 FName SmartObjectRole = TEXT("SmartObject");
31};
32
33// Persistent instance data mapping to track active scenes across frames
34USTRUCT()
36{
37 GENERATED_BODY()
38
39 // Internal tracker to know if we successfully initiated the scene on EnterState
40 UPROPERTY()
41 bool bSceneWasStarted = false;
42};
43
44USTRUCT(BlueprintType)
45struct ARCANA_API FArcanaStateTreeTask_PlayContextualAnimTask : public FStateTreeTaskBase
46{
47 GENERATED_BODY()
48
50
52 virtual const UStruct* GetInstanceDataType() const override { return FArcanaStateTreeTask_PlayContextualAnimInstanceData::StaticStruct(); }
53
54 virtual EStateTreeRunStatus EnterState(FStateTreeExecutionContext& Context, const FStateTreeTransitionResult& Transition) const override;
55 virtual EStateTreeRunStatus Tick(FStateTreeExecutionContext& Context, const float DeltaTime) const override;
56 virtual void ExitState(FStateTreeExecutionContext& Context, const FStateTreeTransitionResult& Transition) const override;
57};
Definition: ArcanaStateTreeTask_PlayContextualAnim.h:14
Definition: ArcanaStateTreeTask_PlayContextualAnim.h:36
Definition: ArcanaStateTreeTask_PlayContextualAnim.h:46