添加库存系统组件
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
// Copyright 2026 PHY. All Rights Reserved.
|
||||
|
||||
#include "Items/PHYItemBlueprintLibrary.h"
|
||||
|
||||
#include "GIS_ItemInstance.h"
|
||||
|
||||
const UPHYItemFragment_PropertySet* UPHYItemBlueprintLibrary::FindPropertyFragment(const UGIS_ItemInstance* ItemInstance)
|
||||
{
|
||||
if (!IsValid(ItemInstance))
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return ItemInstance->FindFragmentByClass<UPHYItemFragment_PropertySet>();
|
||||
}
|
||||
|
||||
EPHYItemArchetype UPHYItemBlueprintLibrary::GetItemArchetype(const UGIS_ItemInstance* ItemInstance)
|
||||
{
|
||||
if (const UPHYItemFragment_PropertySet* Fragment = FindPropertyFragment(ItemInstance))
|
||||
{
|
||||
return Fragment->ItemArchetype;
|
||||
}
|
||||
|
||||
return EPHYItemArchetype::Material;
|
||||
}
|
||||
|
||||
EPHYEquipSlotType UPHYItemBlueprintLibrary::GetEquipSlotType(const UGIS_ItemInstance* ItemInstance)
|
||||
{
|
||||
if (const UPHYItemFragment_PropertySet* Fragment = FindPropertyFragment(ItemInstance))
|
||||
{
|
||||
return Fragment->EquipSlot;
|
||||
}
|
||||
|
||||
return EPHYEquipSlotType::None;
|
||||
}
|
||||
|
||||
bool UPHYItemBlueprintLibrary::IsWeaponItem(const UGIS_ItemInstance* ItemInstance)
|
||||
{
|
||||
return GetItemArchetype(ItemInstance) == EPHYItemArchetype::Weapon;
|
||||
}
|
||||
|
||||
bool UPHYItemBlueprintLibrary::IsEquipmentItem(const UGIS_ItemInstance* ItemInstance)
|
||||
{
|
||||
const EPHYItemArchetype Archetype = GetItemArchetype(ItemInstance);
|
||||
return Archetype == EPHYItemArchetype::Weapon || Archetype == EPHYItemArchetype::Equipment;
|
||||
}
|
||||
|
||||
bool UPHYItemBlueprintLibrary::IsConsumableItem(const UGIS_ItemInstance* ItemInstance)
|
||||
{
|
||||
return GetItemArchetype(ItemInstance) == EPHYItemArchetype::Consumable;
|
||||
}
|
||||
|
||||
FPHYConsumablePayload UPHYItemBlueprintLibrary::GetConsumablePayload(const UGIS_ItemInstance* ItemInstance)
|
||||
{
|
||||
if (const UPHYItemFragment_PropertySet* Fragment = FindPropertyFragment(ItemInstance))
|
||||
{
|
||||
return Fragment->ConsumablePayload;
|
||||
}
|
||||
|
||||
return FPHYConsumablePayload();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user