#pragma once

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

// Package: BPW_Master_Menus

#include "Basic.hpp"

#include "YBCommon_structs.hpp"
#include "YBCommon_classes.hpp"
#include "Engine_structs.hpp"
#include "Enum_UI_Navigation_InputActionEventType_structs.hpp"
#include "Enum_UI_NavigationCommands_structs.hpp"
#include "LowEntryExtendedStandardLibrary_structs.hpp"


namespace SDK
{

// WidgetBlueprintGeneratedClass BPW_Master_Menus.BPW_Master_Menus_C
// 0x0080 (0x04F8 - 0x0478)
class UBPW_Master_Menus_C : public UYBMenuWidget
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame;                                    // 0x0478(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	struct FDataTableRowHandle                    GC_Cancel;                                         // 0x0480(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance, NoDestructor)
	struct FDataTableRowHandle                    GC_Menu;                                           // 0x0490(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance, NoDestructor)
	TArray<class UBPW_Master_Navigation_C*>       MenuChoices;                                       // 0x04A0(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance, ContainsInstancedReference)
	struct FDataTableRowHandle                    GC_ExitMenu;                                       // 0x04B0(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance, NoDestructor)
	TMulticastInlineDelegate<void()>              ED_OnInternalDeactivateMenuRequest;                // 0x04C0(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
	TMulticastInlineDelegate<void()>              ED_OnInternalUpdatePageFooterRequest;              // 0x04D0(0x0010)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, BlueprintAssignable, BlueprintCallable)
	struct FDataTableRowHandle                    GC_Tab;                                            // 0x04E0(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance, NoDestructor)
	struct FYBSingleGameplayCondition             AvailabilityCondition;                             // 0x04F0(0x0008)(Edit, BlueprintVisible, DisableEditOnInstance, NoDestructor, ContainsInstancedReference)

public:
	void Activate_Menu();
	void ActivateMenu();
	void Bind_OnNavigationButtonConfirmed(class UUserWidget* Navigation_Button);
	void BP_OnActivated();
	void BP_OnDeactivated();
	void Cancel();
	void CancelCommand();
	void Confirm_Item();
	void Confirm_Item___Release();
	void ConfirmCommand();
	void Deactivate_Menu();
	void DeactivateMenu();
	void Execute_UI_Nav_Command(class UInputAction* InputAction, Enum_UI_Navigation_InputActionEventType EventType);
	void Execute_UI_Nav_CommandWithValue(class UInputAction* InputAction, double ActionValue);
	void ExecuteScrollUINavCommand(double ScrollOffset);
	void ExecuteSetDefaultWidgetSelection();
	void ExecuteUbergraph_BPW_Master_Menus(int32 EntryPoint);
	void Forward_Input_Commands(class UInputAction* InputAction, Enum_UI_Navigation_InputActionEventType EventType);
	void GetNavigationChoices(TArray<class UBPW_Master_Navigation_C*>* NavWidgets);
	void InternalActivateMenu(bool ShowAnimation);
	void ListItemCreated();
	void Next_Page();
	void Next_Tab();
	void OnMenuUnstacked();
	void Previous_Page();
	void Previous_Tab();
	void Process_Input_Command(class UInputAction* InputAction, Enum_UI_Navigation_InputActionEventType EventType);
	void Process_Input_CommandWithValue(class UInputAction* InputAction, double ActionValue);
	void Process_Navigation_Command(Enum_UI_NavigationCommands Nav_Command);
	void Process_UI_Command(class UInputAction* InputAction, Enum_UI_Navigation_InputActionEventType EventType);
	void Process_UI_CommandWithValue(class UInputAction* InputAction, double ActionValue);
	void ProcessScrollCommand(double ScrollValue);
	void SetDefaultWidgetSelection(bool ShowAnimation);
	void UnstackMenu();
	void VerifyAvailability(bool* MenuIsAvailable);

	void Get_Navigation_Command(class UInputAction* InputAction, Enum_UI_NavigationCommands* NavigationCommand, bool* IsOtherCommand) const;
	bool ShouldDefaultSelect(bool IsNavigationCommand) const;
	bool ShouldDoInputActionOnSwitchToDirectionnal(bool IsNavigationCommand) const;

public:
	static class UClass* StaticClass()
	{
		BP_STATIC_CLASS_IMPL("BPW_Master_Menus_C")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BPW_Master_Menus_C")
	}
	static class UBPW_Master_Menus_C* GetDefaultObj()
	{
		return GetDefaultObjImpl<UBPW_Master_Menus_C>();
	}
};
DUMPER7_ASSERTS_UBPW_Master_Menus_C;

}

