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

#pragma once

#include "CoreMinimal.h"
#include "Conditions/StateTreeGameplayTagConditions.h"
#include "Engine/DataAsset.h"
#include "OrderSettingsDataAsset.generated.h"

class USUDSScript;

UENUM(BlueprintType, meta = (BitFlags))
enum class ECoffeeFilterFlags : uint8
{
	SizeAndType,
	Iced,
	CoffeeAddition,
	WhippedCream
};
ENUM_CLASS_FLAGS(ECoffeeFilterFlags)

USTRUCT(BlueprintType)
struct FCoffeeFilterFlagsSet
{
	GENERATED_BODY()
	
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Flags", meta = (Bitmask, BitmaskEnum = "/Script/Faye.ECoffeeFilterFlags"))
	uint8 Flags = 0;
	
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FGameplayTagQuery TagQuery;
	
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<USUDSScript*> ScriptsArray;
};


/**
 * 
 */
UCLASS()
class FAYE_API UOrderSettingsDataAsset : public UDataAsset
{
	GENERATED_BODY()
public:
	UPROPERTY(EditAnywhere, BlueprintReadOnly)
	TArray<FCoffeeFilterFlagsSet> FilterSettings;
};
