#pragma once

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

// Package: BPW_Menu_Main

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "YBCommon_structs.hpp"
#include "Enum_UI_ConfirmPopup_Types_structs.hpp"
#include "GameplayTags_structs.hpp"
#include "InputCore_structs.hpp"
#include "BPW_Master_Menus_classes.hpp"
#include "Enum_UI_Navigation_InputActionEventType_structs.hpp"
#include "LowEntryExtendedStandardLibrary_structs.hpp"
#include "UMG_structs.hpp"
#include "CommonUser_structs.hpp"
#include "Enum_UI_Menu_System_InteractionTypes_structs.hpp"


namespace SDK
{

// WidgetBlueprintGeneratedClass BPW_Menu_Main.BPW_Menu_Main_C
// 0x0138 (0x0630 - 0x04F8)
class UBPW_Menu_Main_C final : public UBPW_Master_Menus_C
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame_BPW_Menu_Main_C;                    // 0x04F8(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class UBPW_Menu_Copyright_C*                  BPW_Copyright;                                     // 0x0500(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBPW_UI_HUD_DemoWatermark_C*            BPW_UI_HUD_DemoWatermark;                          // 0x0508(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBPW_UI_Popup_ConfirmWhatsNew_C*        BPW_UI_Popup_ConfirmWhatsNew;                      // 0x0510(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBPW_UI_Whatsnew_C*                     BPW_UI_Whatsnew;                                   // 0x0518(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBPW_UI_Wishlist_C*                     BPW_UI_Wishlist;                                   // 0x0520(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBPW_UI_Popup_ConfirmMaster_C*          ConfirmPopup;                                      // 0x0528(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UVerticalBox*                           MenuButtons;                                       // 0x0530(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UCommonRichTextBlock*                   PressStartText;                                    // 0x0538(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 Ratings;                                           // 0x0540(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UTextBlock*                             Txt_XboxUser;                                      // 0x0548(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UWidgetSwitcher*                        UserInitializationSwitcher;                        // 0x0550(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 VFX_Smoke_Sharp;                                   // 0x0558(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 VFX_Smoke_Soft;                                    // 0x0560(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UImage*                                 Vignette;                                          // 0x0568(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBPW_UI_Button_MainMenu_C*              WBP_Button_Continue;                               // 0x0570(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBPW_UI_Button_MainMenu_C*              WBP_Button_Credits;                                // 0x0578(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBPW_UI_Button_MainMenu_C*              WBP_Button_LoadGame;                               // 0x0580(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBPW_UI_Button_MainMenu_C*              WBP_Button_NewGame;                                // 0x0588(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBPW_UI_Button_MainMenu_C*              WBP_Button_Options;                                // 0x0590(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UBPW_UI_Button_MainMenu_C*              WBP_Button_QuitGame;                               // 0x0598(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, InstancedReference, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UPDA_SaveGamePreset_C*                  LoadedNewGamePreset;                               // 0x05A0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	TArray<struct FKey>                           UserLoginKeys;                                     // 0x05A8(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance)
	bool                                          Initialize_User_On_Login_Failed;                   // 0x05B8(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_5B9[0x7];                                      // 0x05B9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TMap<EnumLoadingSaveErrorType, Enum_UI_ConfirmPopup_Types> ErrorPopupTypes;                      // 0x05C0(0x0050)(Edit, BlueprintVisible, BlueprintReadOnly, DisableEditOnInstance)
	struct FGameplayTag                           Startup_Confirm_GameplayCue;                       // 0x0610(0x0008)(Edit, BlueprintVisible, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	class UObject*                                StartUpConfirmGC_Ref;                              // 0x0618(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, NoDestructor, HasGetValueTypeHash)
	class UBPW_Master_Navigation_C*               LastSelectedMenuChoice;                            // 0x0620(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, InstancedReference, NoDestructor, HasGetValueTypeHash)
	bool                                          CanNavigateMainMenu;                               // 0x0628(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

public:
	void UpdateFooter();
	void SwitchToStartScreen();
	void SwitchToMainMenu();
	void ShowConfirmPopup(Enum_UI_ConfirmPopup_Types _ConfirmPopupType);
	void SetUser(const class FText& _user);
	void SetupUserInitialization();
	void Setup_Menu_Choices(TArray<class UBPW_Master_Navigation_C*>* ValidMenuChoices);
	void SetDefaultWidgetSelection(bool ShowAnimation);
	void ProcessStorePage();
	void ProcessOptions();
	void ProcessNewGame();
	void ProcessLoadGame();
	void ProcessCredits();
	void ProcessContinueGame();
	void ProcessConfirmedItem(Enum_UI_Menu_System_InteractionTypes InteractionType);
	void Process_Input_Command(class UInputAction* InputAction, Enum_UI_Navigation_InputActionEventType EventType);
	void OpenMenu(TSubclassOf<class UBPW_Master_Menus_C> _menuWidgetClass);
	void OnUserLoggedIn(const class UCommonUserInfo* UserInfo, bool bSuccess, const class FText& Error, ECommonUserPrivilege RequestedPrivilege, ECommonUserOnlineContext OnlineContext);
	void OnLoaded_6B06D782487CFFAD221386B49C359711(class UObject* Loaded);
	void OnInitialized();
	void OnCancelPopUp();
	bool IsPublicDemoBuild();
	void IsAnyPopupActive(bool* IsActive);
	void InitMainMenu();
	void InitializeRatings();
	void GetNavigationChoices(TArray<class UBPW_Master_Navigation_C*>* NavWidgets);
	void ExecuteUbergraph_BPW_Menu_Main(int32 EntryPoint);
	void DifficultyOption();
	void Confirm_Item();
	void CloseMenu(class UYBMenuWidget* ClosingMenu);
	void Cancel();
	void Bind_OnQuitToDesktopConfirmed();
	void Bind_OnDifficultyConfirmed();
	void Bind_OnChoiceSelected(class UBPW_Master_Navigation_C* Selected_Widget);
	void Activate_Menu();

public:
	static class UClass* StaticClass()
	{
		BP_STATIC_CLASS_IMPL("BPW_Menu_Main_C")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BPW_Menu_Main_C")
	}
	static class UBPW_Menu_Main_C* GetDefaultObj()
	{
		return GetDefaultObjImpl<UBPW_Menu_Main_C>();
	}
};
//DUMPER7_ASSERTS_UBPW_Menu_Main_C;

}

