#pragma once

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

// Package: Lobby

#include "Basic.hpp"

#include "Lobby_structs.hpp"
#include "Engine_structs.hpp"
#include "Engine_classes.hpp"
#include "OnlineSubsystemUtils_classes.hpp"


namespace SDK
{

// Class Lobby.LobbyBeaconClient
// 0x0088 (0x0438 - 0x03B0)
class ALobbyBeaconClient : public AOnlineBeaconClient
{
public:
	class ALobbyBeaconState*                      LobbyState;                                        // 0x03B0(0x0008)(Net, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class ALobbyBeaconPlayerState*                PlayerState;                                       // 0x03B8(0x0008)(Net, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3C0[0x1];                                      // 0x03C0(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	ELobbyBeaconJoinState                         LobbyJoinServerState;                              // 0x03C1(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_3C2[0x76];                                     // 0x03C2(0x0076)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void ClientAckJoiningServer();
	void ClientJoinGame();
	void ClientLoginComplete(const struct FUniqueNetIdRepl& InUniqueId, bool bWasSuccessful);
	void ClientPlayerJoined(const class FText& NewPlayerName, const struct FUniqueNetIdRepl& InUniqueId);
	void ClientPlayerLeft(const struct FUniqueNetIdRepl& InUniqueId);
	void ClientSetInviteFlags(const struct FJoinabilitySettings& Settings);
	void ClientWasKicked(const class FText& KickReason);
	void ServerCheat(const class FString& Msg);
	void ServerDisconnectFromLobby();
	void ServerKickPlayer(const struct FUniqueNetIdRepl& PlayerToKick, const class FText& Reason);
	void ServerLoginPlayer(const class FString& InSessionId, const struct FUniqueNetIdRepl& InUniqueId, const class FString& UrlString);
	void ServerNotifyJoiningServer();
	void ServerSetPartyOwner(const struct FUniqueNetIdRepl& InUniqueId, const struct FUniqueNetIdRepl& InPartyOwnerId);

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"LobbyBeaconClient">();
	}
	static class ALobbyBeaconClient* GetDefaultObj()
	{
		return GetDefaultObjImpl<ALobbyBeaconClient>();
	}
};
static_assert(alignof(ALobbyBeaconClient) == 0x000008, "Wrong alignment on ALobbyBeaconClient");
static_assert(sizeof(ALobbyBeaconClient) == 0x000438, "Wrong size on ALobbyBeaconClient");
static_assert(offsetof(ALobbyBeaconClient, LobbyState) == 0x0003B0, "Member 'ALobbyBeaconClient::LobbyState' has a wrong offset!");
static_assert(offsetof(ALobbyBeaconClient, PlayerState) == 0x0003B8, "Member 'ALobbyBeaconClient::PlayerState' has a wrong offset!");
static_assert(offsetof(ALobbyBeaconClient, LobbyJoinServerState) == 0x0003C1, "Member 'ALobbyBeaconClient::LobbyJoinServerState' has a wrong offset!");

// Class Lobby.LobbyBeaconHost
// 0x0038 (0x0390 - 0x0358)
class ALobbyBeaconHost : public AOnlineBeaconHostObject
{
public:
	uint8                                         Pad_358[0x8];                                      // 0x0358(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	TSoftClassPtr<class UClass>                   LobbyStateClass;                                   // 0x0360(0x0028)(Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class ALobbyBeaconState*                      LobbyState;                                        // 0x0388(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"LobbyBeaconHost">();
	}
	static class ALobbyBeaconHost* GetDefaultObj()
	{
		return GetDefaultObjImpl<ALobbyBeaconHost>();
	}
};
static_assert(alignof(ALobbyBeaconHost) == 0x000008, "Wrong alignment on ALobbyBeaconHost");
static_assert(sizeof(ALobbyBeaconHost) == 0x000390, "Wrong size on ALobbyBeaconHost");
static_assert(offsetof(ALobbyBeaconHost, LobbyStateClass) == 0x000360, "Member 'ALobbyBeaconHost::LobbyStateClass' has a wrong offset!");
static_assert(offsetof(ALobbyBeaconHost, LobbyState) == 0x000388, "Member 'ALobbyBeaconHost::LobbyState' has a wrong offset!");

// Class Lobby.LobbyBeaconPlayerState
// 0x00A8 (0x03D8 - 0x0330)
class ALobbyBeaconPlayerState : public AInfo
{
public:
	class FText                                   DisplayName;                                       // 0x0330(0x0018)(Net, NativeAccessSpecifierPublic)
	struct FUniqueNetIdRepl                       UniqueId;                                          // 0x0348(0x0028)(Net, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FUniqueNetIdRepl                       PartyOwnerUniqueId;                                // 0x0370(0x0028)(Net, RepNotify, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bInLobby;                                          // 0x0398(0x0001)(Net, ZeroConstructor, IsPlainOldData, RepNotify, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_399[0x7];                                      // 0x0399(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class AOnlineBeaconClient*                    ClientActor;                                       // 0x03A0(0x0008)(Net, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3A8[0x30];                                     // 0x03A8(0x0030)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnRep_InLobby();
	void OnRep_PartyOwner();

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"LobbyBeaconPlayerState">();
	}
	static class ALobbyBeaconPlayerState* GetDefaultObj()
	{
		return GetDefaultObjImpl<ALobbyBeaconPlayerState>();
	}
};
static_assert(alignof(ALobbyBeaconPlayerState) == 0x000008, "Wrong alignment on ALobbyBeaconPlayerState");
static_assert(sizeof(ALobbyBeaconPlayerState) == 0x0003D8, "Wrong size on ALobbyBeaconPlayerState");
static_assert(offsetof(ALobbyBeaconPlayerState, DisplayName) == 0x000330, "Member 'ALobbyBeaconPlayerState::DisplayName' has a wrong offset!");
static_assert(offsetof(ALobbyBeaconPlayerState, UniqueId) == 0x000348, "Member 'ALobbyBeaconPlayerState::UniqueId' has a wrong offset!");
static_assert(offsetof(ALobbyBeaconPlayerState, PartyOwnerUniqueId) == 0x000370, "Member 'ALobbyBeaconPlayerState::PartyOwnerUniqueId' has a wrong offset!");
static_assert(offsetof(ALobbyBeaconPlayerState, bInLobby) == 0x000398, "Member 'ALobbyBeaconPlayerState::bInLobby' has a wrong offset!");
static_assert(offsetof(ALobbyBeaconPlayerState, ClientActor) == 0x0003A0, "Member 'ALobbyBeaconPlayerState::ClientActor' has a wrong offset!");

// Class Lobby.LobbyBeaconState
// 0x0150 (0x0480 - 0x0330)
class ALobbyBeaconState : public AInfo
{
public:
	int32                                         MaxPlayers;                                        // 0x0330(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_334[0x4];                                      // 0x0334(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	TSubclassOf<class ALobbyBeaconPlayerState>    LobbyBeaconPlayerStateClass;                       // 0x0338(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_340[0x8];                                      // 0x0340(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	bool                                          bLobbyStarted;                                     // 0x0348(0x0001)(Net, ZeroConstructor, IsPlainOldData, RepNotify, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_349[0x3];                                      // 0x0349(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         WaitForPlayersTimeRemaining;                       // 0x034C(0x0004)(Net, ZeroConstructor, Config, IsPlainOldData, RepNotify, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	struct FLobbyPlayerStateInfoArray             Players;                                           // 0x0350(0x00C8)(Net, Protected, NativeAccessSpecifierProtected)
	uint8                                         Pad_418[0x68];                                     // 0x0418(0x0068)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void OnRep_LobbyStarted();
	void OnRep_WaitForPlayersTimeRemaining();

public:
	static class UClass* StaticClass()
	{
		return StaticClassImpl<"LobbyBeaconState">();
	}
	static class ALobbyBeaconState* GetDefaultObj()
	{
		return GetDefaultObjImpl<ALobbyBeaconState>();
	}
};
static_assert(alignof(ALobbyBeaconState) == 0x000008, "Wrong alignment on ALobbyBeaconState");
static_assert(sizeof(ALobbyBeaconState) == 0x000480, "Wrong size on ALobbyBeaconState");
static_assert(offsetof(ALobbyBeaconState, MaxPlayers) == 0x000330, "Member 'ALobbyBeaconState::MaxPlayers' has a wrong offset!");
static_assert(offsetof(ALobbyBeaconState, LobbyBeaconPlayerStateClass) == 0x000338, "Member 'ALobbyBeaconState::LobbyBeaconPlayerStateClass' has a wrong offset!");
static_assert(offsetof(ALobbyBeaconState, bLobbyStarted) == 0x000348, "Member 'ALobbyBeaconState::bLobbyStarted' has a wrong offset!");
static_assert(offsetof(ALobbyBeaconState, WaitForPlayersTimeRemaining) == 0x00034C, "Member 'ALobbyBeaconState::WaitForPlayersTimeRemaining' has a wrong offset!");
static_assert(offsetof(ALobbyBeaconState, Players) == 0x000350, "Member 'ALobbyBeaconState::Players' has a wrong offset!");

}

