#pragma once

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

// Package: MediaPlate

#include "Basic.hpp"

#include "Engine_classes.hpp"
#include "MediaPlate_structs.hpp"
#include "CoreUObject_structs.hpp"
#include "MediaAssets_structs.hpp"


SDK_NAMESPACE_START

// Class MediaPlate.MediaPlate
// 0x0018 (0x02C0 - 0x02A8)
class AMediaPlate final : public AActor
{
public:
	class UMediaPlateComponent*                   MediaPlateComponent;                               // 0x02A8(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UStaticMeshComponent*                   StaticMeshComponent;                               // 0x02B0(0x0008)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, EditConst, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	bool                                          bEnableHoldoutComposite;                           // 0x02B8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_2B9[0x7];                                      // 0x02B9(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void SetHoldoutCompositeEnabled(bool bInEnabled);

	bool IsHoldoutCompositeEnabled() const;

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

// Class MediaPlate.MediaPlateAssetUserData
// 0x0010 (0x0038 - 0x0028)
class UMediaPlateAssetUserData final : public UAssetUserData
{
public:
	uint8                                         Pad_28[0x10];                                      // 0x0028(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class MediaPlate.MediaPlateComponent
// 0x01A8 (0x0260 - 0x00B8)
class UMediaPlateComponent final : public UActorComponent
{
public:
	uint8                                         Pad_B8[0x8];                                       // 0x00B8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          bPlayOnOpen;                                       // 0x00C0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bAutoPlay;                                         // 0x00C1(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bEnableAudio;                                      // 0x00C2(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_C3[0x1];                                       // 0x00C3(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         StartTime;                                         // 0x00C4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UMediaSoundComponent*                   SoundComponent;                                    // 0x00C8(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UStaticMeshComponent*                   StaticMeshComponent;                               // 0x00D0(0x0008)(Edit, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	TArray<class UStaticMeshComponent*>           Letterboxes;                                       // 0x00D8(0x0010)(Edit, ExportObject, ZeroConstructor, ContainsInstancedReference, UObjectWrapper, NativeAccessSpecifierPublic, TObjectPtr)
	struct FMediaPlateResource                    MediaPlateResource;                                // 0x00E8(0x0068)(Edit, BlueprintVisible, ContainsInstancedReference, NativeAccessSpecifierPublic)
	int32                                         PlaylistIndex;                                     // 0x0150(0x0004)(BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FMediaSourceCacheSettings              CacheSettings;                                     // 0x0154(0x0008)(Edit, NoDestructor, NativeAccessSpecifierPublic)
	bool                                          bIsMediaPlatePlaying;                              // 0x015C(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_15D[0x13];                                     // 0x015D(0x0013)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          bPlayOnlyWhenVisible;                              // 0x0170(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	bool                                          bLoop;                                             // 0x0171(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	EMediaTextureVisibleMipsTiles                 VisibleMipsTilesCalculations;                      // 0x0172(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_173[0x1];                                      // 0x0173(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         MipMapBias;                                        // 0x0174(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	bool                                          bIsAspectRatioAuto;                                // 0x0178(0x0001)(BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	bool                                          bEnableMipMapUpscaling;                            // 0x0179(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_17A[0x2];                                      // 0x017A(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         MipLevelToUpscale;                                 // 0x017C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	bool                                          bAdaptivePoleMipUpscaling;                         // 0x0180(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_181[0x3];                                      // 0x0181(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         LetterboxAspectRatio;                              // 0x0184(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	uint8                                         Pad_188[0x8];                                      // 0x0188(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              MeshRange;                                         // 0x0190(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	TArray<class UMediaTexture*>                  MediaTextures;                                     // 0x01A0(0x0010)(ExportObject, ZeroConstructor, ContainsInstancedReference, UObjectWrapper, NativeAccessSpecifierPrivate, TObjectPtr)
	struct FMediaTextureResourceSettings          MediaTextureSettings;                              // 0x01B0(0x0001)(Edit, NoDestructor, NativeAccessSpecifierPrivate)
	uint8                                         Pad_1B1[0x7];                                      // 0x01B1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class UMediaPlayer*                           MediaPlayer;                                       // 0x01B8(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	class UMediaSource*                           ExternalMediaSource;                               // 0x01C0(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	class UMediaPlaylist*                         ActivePlaylist;                                    // 0x01C8(0x0008)(ExportObject, ZeroConstructor, InstancedReference, NoDestructor, PersistentInstance, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPrivate, TObjectPtr)
	uint8                                         Pad_1D0[0x90];                                     // 0x01D0(0x0090)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void Close();
	float GetLetterboxAspectRatio();
	bool GetLoop();
	class UMediaPlayer* GetMediaPlayer();
	class UMediaTexture* GetMediaTexture(int32 Index_0);
	bool Next();
	void OnMediaEnd();
	void OnMediaOpened(const class FString& DeviceUrl);
	void OnMediaResumed();
	void OnMediaSuspended();
	void Open();
	void OpenLatent(const class UObject* InWorldContextObject, const struct FLatentActionInfo& InLatentInfo, float InTimeout, bool bInWaitForTexture, bool* bOutSuccess);
	void Pause();
	void Play();
	bool Previous();
	bool Rewind();
	bool Seek(const struct FTimespan& Time);
	void SelectExternalMedia(const class FString& InFilePath);
	void SelectMediaPlaylistAsset(const class UMediaPlaylist* InMediaPlaylist);
	void SelectMediaSourceAsset(const class UMediaSource* InMediaSource);
	void SetEnableAudio(bool bInEnableAudio);
	void SetIsAspectRatioAuto(bool bInIsAspectRatioAuto);
	void SetLetterboxAspectRatio(float AspectRatio);
	void SetLoop(bool bInLoop);
	void SetMeshRange(const struct FVector2D& InMeshRange);
	void SetPlayOnlyWhenVisible(bool bInPlayOnlyWhenVisible);

	bool GetIsAspectRatioAuto() const;
	struct FVector2D GetMeshRange() const;
	bool IsEventStateChangeAllowed(EMediaPlateEventState InRequestEventState) const;
	bool IsMediaPlatePlaying() const;

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

SDK_NAMESPACE_END
