Files
PHY/Source/PHYInventory/Private/Items/PHYItemBlueprintLibrary.h
2026-03-05 14:44:34 +08:00

40 lines
1.3 KiB
C++

// Copyright 2026 PHY. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "Items/PHYItemFragment_PropertySet.h"
#include "PHYItemBlueprintLibrary.generated.h"
class UGIS_ItemInstance;
UCLASS()
class UPHYItemBlueprintLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Item")
static EPHYItemArchetype GetItemArchetype(const UGIS_ItemInstance* ItemInstance);
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Item")
static EPHYEquipSlotType GetEquipSlotType(const UGIS_ItemInstance* ItemInstance);
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Item")
static bool IsWeaponItem(const UGIS_ItemInstance* ItemInstance);
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Item")
static bool IsEquipmentItem(const UGIS_ItemInstance* ItemInstance);
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Item")
static bool IsConsumableItem(const UGIS_ItemInstance* ItemInstance);
UFUNCTION(BlueprintCallable, BlueprintPure, Category="PHY|Item")
static FPHYConsumablePayload GetConsumablePayload(const UGIS_ItemInstance* ItemInstance);
private:
static const UPHYItemFragment_PropertySet* FindPropertyFragment(const UGIS_ItemInstance* ItemInstance);
};