#pragma once

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

// Package: ExpeditionSquadSlotButton

#include "Basic.hpp"

#include "ExpeditionSquadSlotButton_classes.hpp"
#include "ExpeditionSquadSlotButton_parameters.hpp"


namespace SDK
{

// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.OnSquadSlotSelected__DelegateSignature
// (Public, Delegate, BlueprintCallable, BlueprintEvent)
// Parameters:
// int32                                   Param_SquadSlotIndex                                   (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UExpeditionSquadSlotButton_C::OnSquadSlotSelected__DelegateSignature(int32 Param_SquadSlotIndex)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "OnSquadSlotSelected__DelegateSignature");

	Params::ExpeditionSquadSlotButton_C_OnSquadSlotSelected__DelegateSignature Parms{};

	Parms.Param_SquadSlotIndex = Param_SquadSlotIndex;

	UObject::ProcessEvent(Func, &Parms);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.OnSquadSlotUpdated__DelegateSignature
// (Public, Delegate, BlueprintCallable, BlueprintEvent)
// Parameters:
// class UFortItem*                        Item                                                   (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UExpeditionSquadSlotButton_C::OnSquadSlotUpdated__DelegateSignature(class UFortItem* Item)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "OnSquadSlotUpdated__DelegateSignature");

	Params::ExpeditionSquadSlotButton_C_OnSquadSlotUpdated__DelegateSignature Parms{};

	Parms.Item = Item;

	UObject::ProcessEvent(Func, &Parms);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.OnSquadSlotOpened__DelegateSignature
// (Public, Delegate, BlueprintCallable, BlueprintEvent)

void UExpeditionSquadSlotButton_C::OnSquadSlotOpened__DelegateSignature()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "OnSquadSlotOpened__DelegateSignature");

	UObject::ProcessEvent(Func, nullptr);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.ExecuteUbergraph_ExpeditionSquadSlotButton
// (Final, UbergraphFunction)
// Parameters:
// int32                                   EntryPoint                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UExpeditionSquadSlotButton_C::ExecuteUbergraph_ExpeditionSquadSlotButton(int32 EntryPoint)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "ExecuteUbergraph_ExpeditionSquadSlotButton");

	Params::ExpeditionSquadSlotButton_C_ExecuteUbergraph_ExpeditionSquadSlotButton Parms{};

	Parms.EntryPoint = EntryPoint;

	UObject::ProcessEvent(Func, &Parms);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.Open Squad Slot
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// int32                                   Param_SquadSlotIndex                                   (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UExpeditionSquadSlotButton_C::Open_Squad_Slot(int32 Param_SquadSlotIndex)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "Open Squad Slot");

	Params::ExpeditionSquadSlotButton_C_Open_Squad_Slot Parms{};

	Parms.Param_SquadSlotIndex = Param_SquadSlotIndex;

	UObject::ProcessEvent(Func, &Parms);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.Destruct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)

void UExpeditionSquadSlotButton_C::Destruct()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "Destruct");

	UObject::ProcessEvent(Func, nullptr);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.Construct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)

void UExpeditionSquadSlotButton_C::Construct()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "Construct");

	UObject::ProcessEvent(Func, nullptr);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.BndEvt__PopupMenuAnchor_K2Node_ComponentBoundEvent_3_OnMenuOpenChangedEvent__DelegateSignature
// (BlueprintEvent)
// Parameters:
// bool                                    bIsOpen                                                (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)

void UExpeditionSquadSlotButton_C::BndEvt__PopupMenuAnchor_K2Node_ComponentBoundEvent_3_OnMenuOpenChangedEvent__DelegateSignature(bool bIsOpen)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "BndEvt__PopupMenuAnchor_K2Node_ComponentBoundEvent_3_OnMenuOpenChangedEvent__DelegateSignature");

	Params::ExpeditionSquadSlotButton_C_BndEvt__PopupMenuAnchor_K2Node_ComponentBoundEvent_3_OnMenuOpenChangedEvent__DelegateSignature Parms{};

	Parms.bIsOpen = bIsOpen;

	UObject::ProcessEvent(Func, &Parms);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.BP_OnSelected
// (Event, Protected, BlueprintEvent)

void UExpeditionSquadSlotButton_C::BP_OnSelected()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "BP_OnSelected");

	UObject::ProcessEvent(Func, nullptr);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.HandlePostDifferentSquadSlotSetBP
// (Event, Protected, BlueprintEvent)

void UExpeditionSquadSlotButton_C::HandlePostDifferentSquadSlotSetBP()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "HandlePostDifferentSquadSlotSetBP");

	UObject::ProcessEvent(Func, nullptr);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.SquadSlotWidgetUpdated
// (Event, Public, BlueprintEvent)

void UExpeditionSquadSlotButton_C::SquadSlotWidgetUpdated()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "SquadSlotWidgetUpdated");

	UObject::ProcessEvent(Func, nullptr);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.PreConstruct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)
// Parameters:
// bool                                    IsDesignTime                                           (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor)

void UExpeditionSquadSlotButton_C::PreConstruct(bool IsDesignTime)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "PreConstruct");

	Params::ExpeditionSquadSlotButton_C_PreConstruct Parms{};

	Parms.IsDesignTime = IsDesignTime;

	UObject::ProcessEvent(Func, &Parms);
}


// Function ExpeditionSquadSlotButton.ExpeditionSquadSlotButton_C.Get Squad Data
// (Public, HasOutParams, HasDefaults, BlueprintCallable, BlueprintEvent)
// Parameters:
// class FName                             OutSquadId                                             (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// int32                                   OutSquadSlotIndex                                      (Parm, OutParm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
// TArray<EFortItemType>                   ItemTypes                                              (Parm, OutParm, ZeroConstructor)

void UExpeditionSquadSlotButton_C::Get_Squad_Data(class FName* OutSquadId, int32* OutSquadSlotIndex, TArray<EFortItemType>* ItemTypes)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("ExpeditionSquadSlotButton_C", "Get Squad Data");

	Params::ExpeditionSquadSlotButton_C_Get_Squad_Data Parms{};

	UObject::ProcessEvent(Func, &Parms);

	if (OutSquadId != nullptr)
		*OutSquadId = Parms.OutSquadId;

	if (OutSquadSlotIndex != nullptr)
		*OutSquadSlotIndex = Parms.OutSquadSlotIndex;

	if (ItemTypes != nullptr)
		*ItemTypes = std::move(Parms.ItemTypes);
}

}

