#pragma once #include "CoreMinimal.h" #include "Engine/DataAsset.h" #include "CraftingCost.h" #include "Templates/SubclassOf.h" #include "ItemData.generated.h" class AActor; class UItemID; class UResourceData; class UTexture2D; UCLASS(Blueprintable) class FSD_API UItemData : public UPrimaryDataAsset { GENERATED_BODY() public: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UItemID* ItemID; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UTexture2D* IconLine; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UTexture2D* IconBG; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UTexture2D* IconDetailed; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TSoftObjectPtr PreviewImage; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TSoftClassPtr PreviewActor; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FText Name; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FText Category; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FText Description; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) int32 CreditCost; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) TMap ResourceCost; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) int32 RequiredCharacterLevel; UItemData(); UFUNCTION(BlueprintCallable, BlueprintPure) UTexture2D* GetPreviewImage() const; UFUNCTION(BlueprintCallable, BlueprintPure) TSubclassOf GetPreviewActorClass() const; UFUNCTION(BlueprintCallable, BlueprintPure) TArray GetCraftingCost() const; };