#pragma once

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

// Package: ItemCraftingIngredientList

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "FortniteGame_structs.hpp"
#include "FortniteUI_classes.hpp"


namespace SDK
{

// WidgetBlueprintGeneratedClass ItemCraftingIngredientList.ItemCraftingIngredientList_C
// 0x0020 (0x02D8 - 0x02B8)
class UItemCraftingIngredientList_C final : public UFortItemQuantityListBase
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame;                                    // 0x02B8(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class UVerticalBox*                           IngredientsList;                                   // 0x02C0(0x0008)(BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData, RepSkip, NoDestructor, PersistentInstance, HasGetValueTypeHash)
	class UFortItem*                              ItemRepresented;                                   // 0x02C8(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	EFortBrushSize                                IconSize;                                          // 0x02D0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, ExposeOnSpawn, HasGetValueTypeHash)
	uint8                                         Pad_2D1[0x3];                                      // 0x02D1(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         Quantity;                                          // 0x02D4(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

public:
	void ExecuteUbergraph_ItemCraftingIngredientList(int32 EntryPoint);
	void Construct();
	void Destruct();
	void AddListEntry(class UFortItemQuantityListEntryBase* ListEntry);
	void SetItemToRepresent(class UFortItem* Item, int32 ItemQuantity);
	void Refresh();
	void HandleWorldItemListChanged(TArray<class UFortWorldItem*>& ItemsAdded, TArray<class UFortWorldItem*>& ItemsRemoved);
	void RefreshInventoryTracking();
	void HandleItemChanged(bool ItemChanged, bool AmmoChanged, bool IngredientsChanged);
	void ItemNeedsInventoryTracking(class UFortItem* Item, bool* NeedsTracking);
	void SetItemToCompare(class UFortItem* ItemToCompare);
	void GetIngredients(class UObject* Item, TArray<struct FFortItemQuantityPair>* ReturnIngredients);
	void HandleCraftItemFailed(EFortCraftFailCause FailCause);
	void UnbindDelegates();
	void Bind_Delegates();
	void SetItemQuantity(int32 ItemQuantity);

public:
	static class UClass* StaticClass()
	{
		return StaticBPGeneratedClassImpl<"ItemCraftingIngredientList_C">();
	}
	static class UItemCraftingIngredientList_C* GetDefaultObj()
	{
		return GetDefaultObjImpl<UItemCraftingIngredientList_C>();
	}
};
static_assert(alignof(UItemCraftingIngredientList_C) == 0x000008, "Wrong alignment on UItemCraftingIngredientList_C");
static_assert(sizeof(UItemCraftingIngredientList_C) == 0x0002D8, "Wrong size on UItemCraftingIngredientList_C");
static_assert(offsetof(UItemCraftingIngredientList_C, UberGraphFrame) == 0x0002B8, "Member 'UItemCraftingIngredientList_C::UberGraphFrame' has a wrong offset!");
static_assert(offsetof(UItemCraftingIngredientList_C, IngredientsList) == 0x0002C0, "Member 'UItemCraftingIngredientList_C::IngredientsList' has a wrong offset!");
static_assert(offsetof(UItemCraftingIngredientList_C, ItemRepresented) == 0x0002C8, "Member 'UItemCraftingIngredientList_C::ItemRepresented' has a wrong offset!");
static_assert(offsetof(UItemCraftingIngredientList_C, IconSize) == 0x0002D0, "Member 'UItemCraftingIngredientList_C::IconSize' has a wrong offset!");
static_assert(offsetof(UItemCraftingIngredientList_C, Quantity) == 0x0002D4, "Member 'UItemCraftingIngredientList_C::Quantity' has a wrong offset!");

}

