#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: TemplateSequence

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "MovieScene_structs.hpp"
#include "MovieScene_classes.hpp"
#include "CinematicCamera_structs.hpp"
#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "TemplateSequence_structs.hpp"


SDK_NAMESPACE_START

// Class TemplateSequence.TemplateSequence
// 0x0080 (0x00E8 - 0x0068)
class UTemplateSequence : public UMovieSceneSequence
{
public:
	class UMovieScene*                            MovieScene;                                        // 0x0068(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	TSoftClassPtr<class UClass>                   BoundActorClass;                                   // 0x0070(0x0028)(UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TMap<struct FGuid, class FName>               BoundActorComponents;                              // 0x0098(0x0050)(NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("TemplateSequence")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"TemplateSequence")
	}
	static class UTemplateSequence* GetDefaultObj()
	{
		return GetDefaultObjImpl<UTemplateSequence>();
	}
};
DUMPER7_ASSERTS_UTemplateSequence;

// Class TemplateSequence.CameraAnimationSequence
// 0x0000 (0x00E8 - 0x00E8)
class UCameraAnimationSequence final : public UTemplateSequence
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("CameraAnimationSequence")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"CameraAnimationSequence")
	}
	static class UCameraAnimationSequence* GetDefaultObj()
	{
		return GetDefaultObjImpl<UCameraAnimationSequence>();
	}
};
DUMPER7_ASSERTS_UCameraAnimationSequence;

// Class TemplateSequence.CameraAnimationSequenceCameraStandIn
// 0x0898 (0x08C0 - 0x0028)
class UCameraAnimationSequenceCameraStandIn final : public UObject
{
public:
	float                                         FieldOfView;                                       // 0x0028(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         bConstrainAspectRatio : 1;                         // 0x002C(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic))
	uint8                                         Pad_2D[0x3];                                       // 0x002D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         AspectRatio;                                       // 0x0030(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_34[0xC];                                       // 0x0034(0x000C)(Fixing Size After Last Property [ Dumper-7 ])
	struct FPostProcessSettings                   PostProcessSettings;                               // 0x0040(0x0760)(NativeAccessSpecifierPublic)
	float                                         PostProcessBlendWeight;                            // 0x07A0(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FCameraFilmbackSettings                Filmback;                                          // 0x07A4(0x0014)(NoDestructor, NativeAccessSpecifierPublic)
	struct FCameraLensSettings                    LensSettings;                                      // 0x07B8(0x001C)(NoDestructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_7D4[0x4];                                      // 0x07D4(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FCameraFocusSettings                   FocusSettings;                                     // 0x07D8(0x0060)(NativeAccessSpecifierPublic)
	float                                         CurrentFocalLength;                                // 0x0838(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         CurrentAperture;                                   // 0x083C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         CurrentFocusDistance;                              // 0x0840(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_844[0x7C];                                     // 0x0844(0x007C)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("CameraAnimationSequenceCameraStandIn")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"CameraAnimationSequenceCameraStandIn")
	}
	static class UCameraAnimationSequenceCameraStandIn* GetDefaultObj()
	{
		return GetDefaultObjImpl<UCameraAnimationSequenceCameraStandIn>();
	}
};
DUMPER7_ASSERTS_UCameraAnimationSequenceCameraStandIn;

// Class TemplateSequence.CameraAnimationSequencePlayer
// 0x0308 (0x0330 - 0x0028)
class UCameraAnimationSequencePlayer final : public UObject
{
public:
	uint8                                         Pad_28[0x268];                                     // 0x0028(0x0268)(Fixing Size After Last Property [ Dumper-7 ])
	class UObject*                                BoundObjectOverride;                               // 0x0290(0x0008)(ZeroConstructor, Transient, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	class UMovieSceneSequence*                    Sequence;                                          // 0x0298(0x0008)(ZeroConstructor, Transient, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	struct FMovieSceneRootEvaluationTemplateInstance RootTemplateInstance;                           // 0x02A0(0x0020)(Transient, NativeAccessSpecifierPrivate)
	uint8                                         Pad_2C0[0x70];                                     // 0x02C0(0x0070)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("CameraAnimationSequencePlayer")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"CameraAnimationSequencePlayer")
	}
	static class UCameraAnimationSequencePlayer* GetDefaultObj()
	{
		return GetDefaultObjImpl<UCameraAnimationSequencePlayer>();
	}
};
DUMPER7_ASSERTS_UCameraAnimationSequencePlayer;

// Class TemplateSequence.CameraAnimationSpawnableSystem
// 0x0000 (0x0040 - 0x0040)
class UCameraAnimationSpawnableSystem final : public UMovieSceneEntitySystem
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("CameraAnimationSpawnableSystem")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"CameraAnimationSpawnableSystem")
	}
	static class UCameraAnimationSpawnableSystem* GetDefaultObj()
	{
		return GetDefaultObjImpl<UCameraAnimationSpawnableSystem>();
	}
};
DUMPER7_ASSERTS_UCameraAnimationSpawnableSystem;

// Class TemplateSequence.CameraAnimationBoundObjectInstantiator
// 0x0000 (0x0040 - 0x0040)
class UCameraAnimationBoundObjectInstantiator final : public UMovieSceneEntityInstantiatorSystem
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("CameraAnimationBoundObjectInstantiator")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"CameraAnimationBoundObjectInstantiator")
	}
	static class UCameraAnimationBoundObjectInstantiator* GetDefaultObj()
	{
		return GetDefaultObjImpl<UCameraAnimationBoundObjectInstantiator>();
	}
};
DUMPER7_ASSERTS_UCameraAnimationBoundObjectInstantiator;

// Class TemplateSequence.CameraAnimationEntitySystemLinker
// 0x0000 (0x0768 - 0x0768)
class UCameraAnimationEntitySystemLinker final : public UMovieSceneEntitySystemLinker
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("CameraAnimationEntitySystemLinker")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"CameraAnimationEntitySystemLinker")
	}
	static class UCameraAnimationEntitySystemLinker* GetDefaultObj()
	{
		return GetDefaultObjImpl<UCameraAnimationEntitySystemLinker>();
	}
};
DUMPER7_ASSERTS_UCameraAnimationEntitySystemLinker;

// Class TemplateSequence.CameraAnimationSequenceSubsystem
// 0x0018 (0x0048 - 0x0030)
class UCameraAnimationSequenceSubsystem final : public UWorldSubsystem
{
public:
	class UMovieSceneEntitySystemLinker*          Linker;                                            // 0x0030(0x0008)(ZeroConstructor, Transient, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	uint8                                         Pad_38[0x10];                                      // 0x0038(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("CameraAnimationSequenceSubsystem")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"CameraAnimationSequenceSubsystem")
	}
	static class UCameraAnimationSequenceSubsystem* GetDefaultObj()
	{
		return GetDefaultObjImpl<UCameraAnimationSequenceSubsystem>();
	}
};
DUMPER7_ASSERTS_UCameraAnimationSequenceSubsystem;

// Class TemplateSequence.TemplateSequenceSection
// 0x0010 (0x0800 - 0x07F0)
class UTemplateSequenceSection final : public UMovieSceneSubSection
{
public:
	TArray<struct FTemplateSectionPropertyScale>  PropertyScales;                                    // 0x07F0(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("TemplateSequenceSection")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"TemplateSequenceSection")
	}
	static class UTemplateSequenceSection* GetDefaultObj()
	{
		return GetDefaultObjImpl<UTemplateSequenceSection>();
	}
};
DUMPER7_ASSERTS_UTemplateSequenceSection;

// Class TemplateSequence.SequenceCameraShakePattern
// 0x0050 (0x0078 - 0x0028)
class USequenceCameraShakePattern final : public UCameraShakePattern
{
public:
	class UCameraAnimationSequence*               Sequence;                                          // 0x0028(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	float                                         PlayRate;                                          // 0x0030(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Scale;                                             // 0x0034(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         BlendInTime;                                       // 0x0038(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         BlendOutTime;                                      // 0x003C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         RandomSegmentDuration;                             // 0x0040(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bRandomSegment;                                    // 0x0044(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_45[0x3];                                       // 0x0045(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class UCameraAnimationSequencePlayer*         Player;                                            // 0x0048(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	class UCameraAnimationSequenceCameraStandIn*  CameraStandIn;                                     // 0x0050(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	uint8                                         Pad_58[0x20];                                      // 0x0058(0x0020)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SequenceCameraShakePattern")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SequenceCameraShakePattern")
	}
	static class USequenceCameraShakePattern* GetDefaultObj()
	{
		return GetDefaultObjImpl<USequenceCameraShakePattern>();
	}
};
DUMPER7_ASSERTS_USequenceCameraShakePattern;

// Class TemplateSequence.TemplateSequenceSystem
// 0x0090 (0x00D0 - 0x0040)
class UTemplateSequenceSystem final : public UMovieSceneEntitySystem
{
public:
	uint8                                         Pad_40[0x90];                                      // 0x0040(0x0090)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("TemplateSequenceSystem")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"TemplateSequenceSystem")
	}
	static class UTemplateSequenceSystem* GetDefaultObj()
	{
		return GetDefaultObjImpl<UTemplateSequenceSystem>();
	}
};
DUMPER7_ASSERTS_UTemplateSequenceSystem;

// Class TemplateSequence.TemplateSequencePropertyScalingInstantiatorSystem
// 0x0058 (0x0098 - 0x0040)
class UTemplateSequencePropertyScalingInstantiatorSystem final : public UMovieSceneEntitySystem
{
public:
	uint8                                         Pad_40[0x58];                                      // 0x0040(0x0058)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("TemplateSequencePropertyScalingInstantiatorSystem")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"TemplateSequencePropertyScalingInstantiatorSystem")
	}
	static class UTemplateSequencePropertyScalingInstantiatorSystem* GetDefaultObj()
	{
		return GetDefaultObjImpl<UTemplateSequencePropertyScalingInstantiatorSystem>();
	}
};
DUMPER7_ASSERTS_UTemplateSequencePropertyScalingInstantiatorSystem;

// Class TemplateSequence.TemplateSequencePropertyScalingEvaluatorSystem
// 0x0050 (0x0090 - 0x0040)
class UTemplateSequencePropertyScalingEvaluatorSystem final : public UMovieSceneEntitySystem
{
public:
	uint8                                         Pad_40[0x50];                                      // 0x0040(0x0050)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("TemplateSequencePropertyScalingEvaluatorSystem")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"TemplateSequencePropertyScalingEvaluatorSystem")
	}
	static class UTemplateSequencePropertyScalingEvaluatorSystem* GetDefaultObj()
	{
		return GetDefaultObjImpl<UTemplateSequencePropertyScalingEvaluatorSystem>();
	}
};
DUMPER7_ASSERTS_UTemplateSequencePropertyScalingEvaluatorSystem;

// Class TemplateSequence.TemplateSequenceActor
// 0x0068 (0x0310 - 0x02A8)
class ATemplateSequenceActor final : public AActor
{
public:
	uint8                                         Pad_2A8[0x8];                                      // 0x02A8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FMovieSceneSequencePlaybackSettings    PlaybackSettings;                                  // 0x02B0(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, NativeAccessSpecifierPublic)
	class UTemplateSequencePlayer*                SequencePlayer;                                    // 0x02D8(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, Net, ZeroConstructor, Transient, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	struct FSoftObjectPath                        TemplateSequence;                                  // 0x02E0(0x0020)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FTemplateSequenceBindingOverrideData   BindingOverride;                                   // 0x0300(0x000C)(BlueprintVisible, BlueprintReadOnly, NoDestructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_30C[0x4];                                      // 0x030C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void SetBinding(class AActor* Actor, bool bOverridesDefault);
	void SetSequence(class UTemplateSequence* InSequence);

	class UTemplateSequence* GetSequence() const;
	class UTemplateSequencePlayer* GetSequencePlayer() const;
	class UTemplateSequence* LoadSequence() const;

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("TemplateSequenceActor")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"TemplateSequenceActor")
	}
	static class ATemplateSequenceActor* GetDefaultObj()
	{
		return GetDefaultObjImpl<ATemplateSequenceActor>();
	}
};
DUMPER7_ASSERTS_ATemplateSequenceActor;

// Class TemplateSequence.TemplateSequencePlayer
// 0x0008 (0x0478 - 0x0470)
class UTemplateSequencePlayer final : public UMovieSceneSequencePlayer
{
public:
	uint8                                         Pad_470[0x8];                                      // 0x0470(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UTemplateSequencePlayer* CreateTemplateSequencePlayer(class UObject* WorldContextObject, class UTemplateSequence* TemplateSequence, const struct FMovieSceneSequencePlaybackSettings& Settings, class ATemplateSequenceActor** OutActor);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("TemplateSequencePlayer")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"TemplateSequencePlayer")
	}
	static class UTemplateSequencePlayer* GetDefaultObj()
	{
		return GetDefaultObjImpl<UTemplateSequencePlayer>();
	}
};
DUMPER7_ASSERTS_UTemplateSequencePlayer;

// Class TemplateSequence.SequenceCameraShakeTestUtil
// 0x0000 (0x0028 - 0x0028)
class USequenceCameraShakeTestUtil final : public UBlueprintFunctionLibrary
{
public:
	static struct FMinimalViewInfo GetCameraCachePOV(class APlayerController* PlayerController);
	static struct FMinimalViewInfo GetLastFrameCameraCachePOV(class APlayerController* PlayerController);
	static bool GetPostProcessBlendCache(class APlayerController* PlayerController, int32 PPIndex, struct FPostProcessSettings* OutPPSettings, float* OutPPBlendWeight);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("SequenceCameraShakeTestUtil")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"SequenceCameraShakeTestUtil")
	}
	static class USequenceCameraShakeTestUtil* GetDefaultObj()
	{
		return GetDefaultObjImpl<USequenceCameraShakeTestUtil>();
	}
};
DUMPER7_ASSERTS_USequenceCameraShakeTestUtil;

// Class TemplateSequence.TemplateSequenceTrack
// 0x0000 (0x0120 - 0x0120)
class UTemplateSequenceTrack final : public UMovieSceneSubTrack
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("TemplateSequenceTrack")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"TemplateSequenceTrack")
	}
	static class UTemplateSequenceTrack* GetDefaultObj()
	{
		return GetDefaultObjImpl<UTemplateSequenceTrack>();
	}
};
DUMPER7_ASSERTS_UTemplateSequenceTrack;

SDK_NAMESPACE_END
