// 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); };