// Project Lab - NHTV Igad

#pragma once

#include "Blueprint/UserWidget.h"
#include "EventHUD.generated.h"

UENUM(BlueprintType)
enum class EEventType : uint8
{
	ET_Kill 	UMETA(DisplayName = "Kill Event"),
	ET_Capture 	UMETA(DisplayName = "Capture Event"),
	ET_KOTH		UMETA(DisplayName = "KOTH Event")
};

USTRUCT()
struct FEventObject
{
	GENERATED_USTRUCT_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Event Struct")
	FText Source;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Event Struct")
	FText Target;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Event Struct")
	EEventType Type;

	UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Event Struct" )
	int32 SourceNum;

	UPROPERTY( EditAnywhere, BlueprintReadWrite, Category = "Event Struct" )
	int32 TargetNum;
};

UCLASS()
class UNREALPROJECT_API UEventHUD : public UUserWidget
{
	GENERATED_BODY()
public:
	virtual void NativeConstruct() override;
	virtual void NativeDestruct() override;

	UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "UI")
	void AddEvent( const FEventObject& event );
};
