Files
Naked-Desire/Source/NakedDesire/Items/ItemDefinition.h
T
2026-05-29 22:13:09 +03:00

33 lines
908 B
C++

// © 2025 Naked People Team. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "Templates/SubclassOf.h"
#include "ItemDefinition.generated.h"
class UItemInstance;
UCLASS(Abstract)
class NAKEDDESIRE_API UItemDefinition : public UPrimaryDataAsset
{
GENERATED_BODY()
public:
/** The UItemInstance subclass that runtime instances of this definition use. */
virtual TSubclassOf<UItemInstance> GetInstanceClass() const PURE_VIRTUAL(UItemDefinition::GetInstanceClass, return nullptr;);
/** Mint a fresh runtime instance of this definition (new GUID, default per-type state). */
UItemInstance* CreateInstance(UObject* Outer) const;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
FText Name;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
TObjectPtr<UTexture2D> Icon;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
UStaticMesh* StaticMesh;
};