物品(PrimalItem) {{ currentPage ? currentPage.title : "" }}

物品:PrimalItem

  • 每个物品都拥有一个单独的UID

  • 物品拥有一些基础属性和一个可变属性数组(用于存放当前耐久等属性)

  • 物品拥有一个蓝图属性,蓝图堆叠数量最大为1,用于制作物品,你可以为任意物品添加可制作属性

变量

说明

OwnerInventory

父库存系统组件

ItemClass

物品基础UPrimalItemBasic,存放物品固定信息

MutableAttributes

可变属性数组

ItemUID

物品UID,每个物品都拥有一个单独的UID

Quantity

物品数量

bIsBlueprint

是否为蓝图

InSite

当前物品所在位置(背包、装备栏、快捷栏、蓝图、所有[丢弃在地上的物品])

CustomItemID

预留

SlotIndex

物品插槽序列,例如两个武器插槽,则第一个为0第二个为1

函数

说明

GetItemBuildInfo

获取物品创建信息,用于物品网络复制,内含属性序列化代码,包含当前物品的属性(可变的)与对应的物品基础

DoesImplementAttribute(TSubclassOf<UItemAttribute> AttributeClass)

是否实现固定属性

GetAttribute(TSubclassOf<UItemAttribute> AttributeClass)

获取物品固定属性

GetAttributeByType(EItemAttributeType AttributeType)

使用类型获取物品固定属性

GetMutableAttribute(TSubclassOf<UItemMutableAttribute> MutableAttributeClass)

获取物品可变属性

GetBasic

获取物品基础(ItemClass)

EqualItemClass(UPrimalItem* Item)

与另外一个物品是否相同

GetCanStackable

是否可堆叠

GetSpaceCount

获取剩余堆叠数量

IsFull

是否堆叠已满

IsBreak

物品是否毁坏

IsEquipped

物品是否被装备,非快捷栏

GetRarity

获取物品品质

GetItemName

获取物品名称

GetDescription

获取物品说明

GetImage

获取物品图标

GetMaxQuantity

获取最大物品数量

GetQuantity

获取当前物品数量

GetWeight

获取单个物品负重

GetItemType

获取物品类型

GetDurability

获取物品耐久

GetMaxDurability

获取物品最大耐久

GetBreakPercentage

获取物品毁坏程度(0.f 到 1.f),满耐久返回0.f

GetRepairResource(制作属性)

获取修理物品所需材料

GetEnhanceResource(强化属性)

获取强化所需材料

GetCraftResource(制作属性)

获取制作所需材料,无需判断是否为蓝图

GetStarRating

获取物品星级

GetDecayTimeText

获取腐坏时间文本格式: “时:分:秒”

GetStat(EAbilityStatType StatType, bool IncludeEnhance)

获取物品属性

IncludeEnhance 包含强化后的属性,false则返回物品基础属性

GetEnhanceStat(EAbilityStatType StatType)

获取强化属性,单独获取强化增加的数值

GetEnhanceStats

获取所有强化属性数值

GetStats(bool IncludeEnhance)

获取所有物品数值

查询函数

CanRemove

是否可被移除,丢弃时使用

CanDecay

是否可腐坏

CanCraft

是否可制作,判断制作平台

AllowRepair

允许修理,判断制作平台与CanRepair

CanRepair

可否修理,带有修理属性的物品返回true

AllowEnhance

允许强化,判断制作平台与当前星级是否最大与允许主动强化

CanEnhance

可否强化,判断是否具有强化属性与星级是否已满

CanUse

允许使用,判断具有使用属性和使用CD

GetUseColdDown

获取使用冷却时间,当前可使用物品返回0

CanEquipToQuick

可否装备到快捷栏

CanEquip

可否装备到装备栏

CanTransferToRemoteInventory(UUltimateInventoryComponent* Inventory)

可否转移到另外一个库存系统中,右键菜单使用

RemoveItemFromInventory

从库存系统中移除,该函数不会进行客户端通知

如需移除请使用库存组件与控制组件进行移除物品

GetAmmoQuantity(LauncherWeapon可变属性)

获取弹药数量

GetAmmoClass(LauncherWeapon可变属性)

获取弹药类型

修改器

ModifyDurability(float Value)

修改耐久,扣1点耐久则Value填写1.f

ApplyEnhance(int32 AppointIndex)

强化物品,该函数不会消耗材料与限制用户,服务器专用函数,AppointIndex为-1则为随机强化

  • FMutableAttributeCache 结构为同步可变属性的缓存结构,其中实现了可变属性序列化

  • FItemBuildInfo 结构为物品创建信息,用于添加物品或网络复制

{{{ content }}}