#pragma once

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

// Package: ImagePlate

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "MovieScene_classes.hpp"
#include "ImagePlate_structs.hpp"
#include "CoreUObject_classes.hpp"
#include "MovieSceneTracks_classes.hpp"


namespace SDK
{

// Class ImagePlate.ImagePlate
// 0x0008 (0x0338 - 0x0330)
class AImagePlate final : public AActor
{
public:
	class UImagePlateComponent*                   ImagePlate;                                        // 0x0330(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"ImagePlate">();
	}
	static class AImagePlate* GetDefaultObj()
	{
		return GetDefaultObjImpl<AImagePlate>();
	}
};
static_assert(alignof(AImagePlate) == 0x000008, "Wrong alignment on AImagePlate");
static_assert(sizeof(AImagePlate) == 0x000338, "Wrong size on AImagePlate");
static_assert(offsetof(AImagePlate, ImagePlate) == 0x000330, "Member 'AImagePlate::ImagePlate' has a wrong offset!");

// Class ImagePlate.ImagePlateComponent
// 0x00D0 (0x0640 - 0x0570)
class UImagePlateComponent final : public UPrimitiveComponent
{
public:
	struct FImagePlateParameters                  Plate;                                             // 0x0570(0x0038)(Edit, NoDestructor, NativeAccessSpecifierPrivate)
	uint8                                         Pad_5A8[0x98];                                     // 0x05A8(0x0098)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnRenderTextureChanged();
	void SetImagePlate(const struct FImagePlateParameters& Param_Plate);

	struct FImagePlateParameters GetPlate() const;

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"ImagePlateComponent">();
	}
	static class UImagePlateComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UImagePlateComponent>();
	}
};
static_assert(alignof(UImagePlateComponent) == 0x000008, "Wrong alignment on UImagePlateComponent");
static_assert(sizeof(UImagePlateComponent) == 0x000640, "Wrong size on UImagePlateComponent");
static_assert(offsetof(UImagePlateComponent, Plate) == 0x000570, "Member 'UImagePlateComponent::Plate' has a wrong offset!");

// Class ImagePlate.ImagePlateSettings
// 0x0010 (0x0038 - 0x0028)
class UImagePlateSettings final : public UObject
{
public:
	class FString                                 ProxyName;                                         // 0x0028(0x0010)(Edit, ZeroConstructor, Config, GlobalConfig, HasGetValueTypeHash, NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"ImagePlateSettings">();
	}
	static class UImagePlateSettings* GetDefaultObj()
	{
		return GetDefaultObjImpl<UImagePlateSettings>();
	}
};
static_assert(alignof(UImagePlateSettings) == 0x000008, "Wrong alignment on UImagePlateSettings");
static_assert(sizeof(UImagePlateSettings) == 0x000038, "Wrong size on UImagePlateSettings");
static_assert(offsetof(UImagePlateSettings, ProxyName) == 0x000028, "Member 'UImagePlateSettings::ProxyName' has a wrong offset!");

// Class ImagePlate.ImagePlateFileSequence
// 0x0028 (0x0050 - 0x0028)
class UImagePlateFileSequence final : public UObject
{
public:
	struct FDirectoryPath                         SequencePath;                                      // 0x0028(0x0010)(Edit, NativeAccessSpecifierPublic)
	class FString                                 FileWildcard;                                      // 0x0038(0x0010)(Edit, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         FrameRate;                                         // 0x0048(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_4C[0x4];                                       // 0x004C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"ImagePlateFileSequence">();
	}
	static class UImagePlateFileSequence* GetDefaultObj()
	{
		return GetDefaultObjImpl<UImagePlateFileSequence>();
	}
};
static_assert(alignof(UImagePlateFileSequence) == 0x000008, "Wrong alignment on UImagePlateFileSequence");
static_assert(sizeof(UImagePlateFileSequence) == 0x000050, "Wrong size on UImagePlateFileSequence");
static_assert(offsetof(UImagePlateFileSequence, SequencePath) == 0x000028, "Member 'UImagePlateFileSequence::SequencePath' has a wrong offset!");
static_assert(offsetof(UImagePlateFileSequence, FileWildcard) == 0x000038, "Member 'UImagePlateFileSequence::FileWildcard' has a wrong offset!");
static_assert(offsetof(UImagePlateFileSequence, FrameRate) == 0x000048, "Member 'UImagePlateFileSequence::FrameRate' has a wrong offset!");

// Class ImagePlate.ImagePlateFrustumComponent
// 0x0000 (0x0570 - 0x0570)
class UImagePlateFrustumComponent final : public UPrimitiveComponent
{
public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"ImagePlateFrustumComponent">();
	}
	static class UImagePlateFrustumComponent* GetDefaultObj()
	{
		return GetDefaultObjImpl<UImagePlateFrustumComponent>();
	}
};
static_assert(alignof(UImagePlateFrustumComponent) == 0x000008, "Wrong alignment on UImagePlateFrustumComponent");
static_assert(sizeof(UImagePlateFrustumComponent) == 0x000570, "Wrong size on UImagePlateFrustumComponent");

// Class ImagePlate.MovieSceneImagePlateSection
// 0x0010 (0x00F0 - 0x00E0)
class UMovieSceneImagePlateSection final : public UMovieSceneSection
{
public:
	class UImagePlateFileSequence*                FileSequence;                                      // 0x00E0(0x0008)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bReuseExistingTexture;                             // 0x00E8(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_E9[0x7];                                       // 0x00E9(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"MovieSceneImagePlateSection">();
	}
	static class UMovieSceneImagePlateSection* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMovieSceneImagePlateSection>();
	}
};
static_assert(alignof(UMovieSceneImagePlateSection) == 0x000008, "Wrong alignment on UMovieSceneImagePlateSection");
static_assert(sizeof(UMovieSceneImagePlateSection) == 0x0000F0, "Wrong size on UMovieSceneImagePlateSection");
static_assert(offsetof(UMovieSceneImagePlateSection, FileSequence) == 0x0000E0, "Member 'UMovieSceneImagePlateSection::FileSequence' has a wrong offset!");
static_assert(offsetof(UMovieSceneImagePlateSection, bReuseExistingTexture) == 0x0000E8, "Member 'UMovieSceneImagePlateSection::bReuseExistingTexture' has a wrong offset!");

// Class ImagePlate.MovieSceneImagePlateTrack
// 0x0000 (0x0080 - 0x0080)
class UMovieSceneImagePlateTrack final : public UMovieScenePropertyTrack
{
public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"MovieSceneImagePlateTrack">();
	}
	static class UMovieSceneImagePlateTrack* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMovieSceneImagePlateTrack>();
	}
};
static_assert(alignof(UMovieSceneImagePlateTrack) == 0x000008, "Wrong alignment on UMovieSceneImagePlateTrack");
static_assert(sizeof(UMovieSceneImagePlateTrack) == 0x000080, "Wrong size on UMovieSceneImagePlateTrack");

}

