#pragma once

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

// Package: EsportsCameraClient

#include "Basic.hpp"

#include "Engine_classes.hpp"
#include "CommonUI_classes.hpp"


namespace SDK
{

// Class EsportsCameraClient.EsportsCameraClient
// 0x0040 (0x0370 - 0x0330)
class AEsportsCameraClient final : public AActor
{
public:
	uint8                                         Pad_330[0x10];                                     // 0x0330(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	class AWebCamReader*                          WebCamReader;                                      // 0x0340(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AWebCamViewer*                          WebCamViewer;                                      // 0x0348(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class AM3U8MovieViewer*                       M3U8MovieViewer;                                   // 0x0350(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_358[0x18];                                     // 0x0358(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	bool HasDynamicMaterial();
	bool IsPlatformEnabled();
	bool IsPlayingWebMovie();
	void SetDynamicMaterial(class UMaterialInstanceDynamic* MaterialInstanceDynamic);

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"EsportsCameraClient">();
	}
	static class AEsportsCameraClient* GetDefaultObj()
	{
		return GetDefaultObjImpl<AEsportsCameraClient>();
	}
};
static_assert(alignof(AEsportsCameraClient) == 0x000008, "Wrong alignment on AEsportsCameraClient");
static_assert(sizeof(AEsportsCameraClient) == 0x000370, "Wrong size on AEsportsCameraClient");
static_assert(offsetof(AEsportsCameraClient, WebCamReader) == 0x000340, "Member 'AEsportsCameraClient::WebCamReader' has a wrong offset!");
static_assert(offsetof(AEsportsCameraClient, WebCamViewer) == 0x000348, "Member 'AEsportsCameraClient::WebCamViewer' has a wrong offset!");
static_assert(offsetof(AEsportsCameraClient, M3U8MovieViewer) == 0x000350, "Member 'AEsportsCameraClient::M3U8MovieViewer' has a wrong offset!");

// Class EsportsCameraClient.EsportsCameraStatusBase
// 0x0000 (0x0238 - 0x0238)
class UEsportsCameraStatusBase final : public UCommonUserWidget
{
public:
	void FollowedPlayerChanged(class AEsportsCameraClient* InEsportsCameraClient);

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"EsportsCameraStatusBase">();
	}
	static class UEsportsCameraStatusBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<UEsportsCameraStatusBase>();
	}
};
static_assert(alignof(UEsportsCameraStatusBase) == 0x000008, "Wrong alignment on UEsportsCameraStatusBase");
static_assert(sizeof(UEsportsCameraStatusBase) == 0x000238, "Wrong size on UEsportsCameraStatusBase");

// Class EsportsCameraClient.WebCamBase
// 0x0048 (0x0378 - 0x0330)
class AWebCamBase : public AActor
{
public:
	uint8                                         Pad_330[0x8];                                      // 0x0330(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	class UTexture2D*                             DynamicTexture;                                    // 0x0338(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UMaterialInstanceDynamic*               MaterialInstanceDynamic;                           // 0x0340(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<uint8>                                 DynamicColors;                                     // 0x0348(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	uint8                                         Pad_358[0x20];                                     // 0x0358(0x0020)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"WebCamBase">();
	}
	static class AWebCamBase* GetDefaultObj()
	{
		return GetDefaultObjImpl<AWebCamBase>();
	}
};
static_assert(alignof(AWebCamBase) == 0x000008, "Wrong alignment on AWebCamBase");
static_assert(sizeof(AWebCamBase) == 0x000378, "Wrong size on AWebCamBase");
static_assert(offsetof(AWebCamBase, DynamicTexture) == 0x000338, "Member 'AWebCamBase::DynamicTexture' has a wrong offset!");
static_assert(offsetof(AWebCamBase, MaterialInstanceDynamic) == 0x000340, "Member 'AWebCamBase::MaterialInstanceDynamic' has a wrong offset!");
static_assert(offsetof(AWebCamBase, DynamicColors) == 0x000348, "Member 'AWebCamBase::DynamicColors' has a wrong offset!");

// Class EsportsCameraClient.M3U8MovieViewer
// 0x0040 (0x03B8 - 0x0378)
class AM3U8MovieViewer final : public AWebCamBase
{
public:
	uint8                                         Pad_378[0x28];                                     // 0x0378(0x0028)(Fixing Size After Last Property [ Dumper-7 ])
	class UAudioComponent*                        AudioComponent;                                    // 0x03A0(0x0008)(ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UMySoundWave*                           MySoundWave;                                       // 0x03A8(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3B0[0x8];                                      // 0x03B0(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"M3U8MovieViewer">();
	}
	static class AM3U8MovieViewer* GetDefaultObj()
	{
		return GetDefaultObjImpl<AM3U8MovieViewer>();
	}
};
static_assert(alignof(AM3U8MovieViewer) == 0x000008, "Wrong alignment on AM3U8MovieViewer");
static_assert(sizeof(AM3U8MovieViewer) == 0x0003B8, "Wrong size on AM3U8MovieViewer");
static_assert(offsetof(AM3U8MovieViewer, AudioComponent) == 0x0003A0, "Member 'AM3U8MovieViewer::AudioComponent' has a wrong offset!");
static_assert(offsetof(AM3U8MovieViewer, MySoundWave) == 0x0003A8, "Member 'AM3U8MovieViewer::MySoundWave' has a wrong offset!");

// Class EsportsCameraClient.MySoundWave
// 0x0010 (0x02A0 - 0x0290)
class UMySoundWave final : public USoundWaveProcedural
{
public:
	uint8                                         Pad_290[0x10];                                     // 0x0290(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"MySoundWave">();
	}
	static class UMySoundWave* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMySoundWave>();
	}
};
static_assert(alignof(UMySoundWave) == 0x000008, "Wrong alignment on UMySoundWave");
static_assert(sizeof(UMySoundWave) == 0x0002A0, "Wrong size on UMySoundWave");

// Class EsportsCameraClient.WebCamReader
// 0x0000 (0x0378 - 0x0378)
class AWebCamReader final : public AWebCamBase
{
public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"WebCamReader">();
	}
	static class AWebCamReader* GetDefaultObj()
	{
		return GetDefaultObjImpl<AWebCamReader>();
	}
};
static_assert(alignof(AWebCamReader) == 0x000008, "Wrong alignment on AWebCamReader");
static_assert(sizeof(AWebCamReader) == 0x000378, "Wrong size on AWebCamReader");

// Class EsportsCameraClient.WebCamViewer
// 0x0008 (0x0380 - 0x0378)
class AWebCamViewer final : public AWebCamBase
{
public:
	uint8                                         Pad_378[0x8];                                      // 0x0378(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"WebCamViewer">();
	}
	static class AWebCamViewer* GetDefaultObj()
	{
		return GetDefaultObjImpl<AWebCamViewer>();
	}
};
static_assert(alignof(AWebCamViewer) == 0x000008, "Wrong alignment on AWebCamViewer");
static_assert(sizeof(AWebCamViewer) == 0x000380, "Wrong size on AWebCamViewer");

}

