72 lines
1.6 KiB
C++
72 lines
1.6 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Engine/DataAsset.h"
|
|
#include "GameplayTagContainer.h"
|
|
#include "GameplayEffect.h"
|
|
#include "Abilities/GameplayAbility.h"
|
|
#include "ItemDefinition.generated.h"
|
|
|
|
|
|
class AItemActor;
|
|
|
|
USTRUCT(BlueprintType)
|
|
struct FItemRegistryRow : public FTableRowBase
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly) UItemDefinition* Definition = nullptr;
|
|
};
|
|
|
|
UCLASS(BlueprintType)
|
|
class MAYBETHISTIME_API UItemDefinition : public UPrimaryDataAsset
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
FName ID;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
FText Name;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
FText Description ;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
FGameplayTagContainer Tags;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
int32 MaxStackSize = 1;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
float MaxDurability = 1.0f;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
float WeightPerUnit = 0.1f;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
UTexture2D* Icon;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
TArray<TSubclassOf<UGameplayEffect>> GrantedEffects;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
TArray<TSubclassOf<UGameplayAbility>> GrantedAbility;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
TObjectPtr<UStaticMesh> StaticMesh;
|
|
|
|
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
|
|
TObjectPtr<USkeletalMesh> SkeletalMesh;
|
|
|
|
UPROPERTY(EditDefaultsOnly)
|
|
TSubclassOf<AItemActor> ItemActorClass;
|
|
|
|
UPROPERTY(EditAnywhere)
|
|
bool bIsBulkResource = true;
|
|
};
|