40 lines
980 B
C++
40 lines
980 B
C++
//
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "GIS_CoreStructLibray.h"
|
|
#include "GIS_ItemInfo.h"
|
|
#include "UObject/Object.h"
|
|
#include "ItemData.generated.h"
|
|
|
|
/**
|
|
*
|
|
*/
|
|
|
|
class UItemStackContainer;
|
|
|
|
UCLASS()
|
|
class PHYINVENTORY_API UItemData : public UObject
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
private:
|
|
// item info
|
|
FGIS_ItemInfo ItemInfo;
|
|
// item slot definition
|
|
FGIS_ItemSlotDefinition ItemSlotDefinition;
|
|
TWeakObjectPtr<UItemStackContainer> OwningItemStackContainer;
|
|
public:
|
|
const FGIS_ItemInfo& GetItemInfo() const { return ItemInfo; }
|
|
void SetItemInfo(const FGIS_ItemInfo& InInfo) { ItemInfo = InInfo; }
|
|
UItemStackContainer* GetContainer() const;
|
|
void SetContainer(UItemStackContainer* InContainer);
|
|
|
|
const FGIS_ItemSlotDefinition& GetItemSlotDefinition() const { return ItemSlotDefinition; }
|
|
void SetItemSlotDefinition(const FGIS_ItemSlotDefinition& InDef) { ItemSlotDefinition = InDef; }
|
|
void Reset();
|
|
bool IsValidItem() const;
|
|
int32 GetItemSlotIndex() const;
|
|
};
|