#pragma once
#include "CoreMinimal.h"
#include "AthenaCosmeticItemDefinition.h"
#include "AthenaMusicPackItemDefinition.generated.h"

class USoundBase;
class UTexture2D;

UCLASS(Blueprintable, MinimalAPI)
class UAthenaMusicPackItemDefinition : public UAthenaCosmeticItemDefinition {
    GENERATED_BODY()
public:
    UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (AllowPrivateAccess = "true", AssetBundles = "Equipped"))
    TSoftObjectPtr<USoundBase> FrontEndLobbyMusic;
    
    UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
    TSoftObjectPtr<UTexture2D> CoverArtImage;
    
    UAthenaMusicPackItemDefinition();
    UFUNCTION(BlueprintCallable, BlueprintPure)
    TSoftObjectPtr<UTexture2D> GetCoverArt() const;

    virtual FPrimaryAssetId GetPrimaryAssetId() const override
    {
        return FPrimaryAssetId("AthenaMusicPack", GetFName());
    }
};

