// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "GadgetMenu.generated.h"

USTRUCT(BlueprintType)
struct FGadgetInfo
{
	GENERATED_BODY()

	UPROPERTY(BlueprintReadWrite, Category = "Gadget")
	UTexture2D* GadgetIcon;

	UPROPERTY(BlueprintReadWrite, Category = "Gadget")
	FString GadgetDesc;

	UPROPERTY(BlueprintReadWrite, Category = "Gadget")
	FString GadgetName;
};


DECLARE_DYNAMIC_MULTICAST_DELEGATE(FCloseMenu);
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FNextGadget);
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FPreviousGadget);
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FSelectGadget);

UCLASS()
class ENDLESSVENDETTA_API UGadgetMenu : public UUserWidget
{
	GENERATED_BODY()

public:
	UPROPERTY(BlueprintCallable)
	FCloseMenu CloseMenuDelegate;

	UPROPERTY(BlueprintCallable)
	FCloseMenu NextGadgetDelegate;

	UPROPERTY(BlueprintCallable)
	FCloseMenu PreviousGadgetDelegate;

	UPROPERTY(BlueprintCallable)
	FCloseMenu SelectGadgetDelegate;
	
	UFUNCTION(BlueprintImplementableEvent)
	void UpdateDisplayedGadget(FGadgetInfo GadgetInfo);
};
