什么是装备实例
在通用库存系统(GIS)中,装备系统与槽集合和装备实例协同工作:
- 你可以使用库存系统的槽集合(ItemSlotCollection),添加或移除带有装备设置的道具。
- 装备系统监听槽集合的变化,生成或销毁装备实例。
- 装备实例负责实际的逻辑,例如:
- 饰品被装备时,根据关联道具的技能配置,为角色添加被动技能;卸载时,从角色移除这些技能。
- 武器被装备时,从关联道具上获取要生成的武器 Actor。
- 武器消耗弹药时,修改关联道具实例上的弹药量(因为道具支持保存和加载)。

装备接口
GIS 提供高度灵活性,任何实现了 GIS_EquipmentInterface 接口的 UObject 或 Actor 都可以作为装备实例。
Loading Blueprint
Initializing BlueprintUE renderer...
装备实例
默认装备实例
GIS 提供基于 UObject 的默认装备实例类 GIS_EquipmentInstance,已实现 GIS_EquipmentInterface 接口。
建议直接使用该实例类型,并按照以下方式组织实例结构:

例如:使用 EquipmentInstance_ARPG 封装所有装备通用的逻辑。

例如:对于特定装备(如武器),使用 WeaponInstance_ARPG 封装武器相关的逻辑。

基于 Actor 的装备实例
在某些情况下,直接将 Actor 作为装备实例更为高效。例如:
- 一个 SquadActor 可生成一组 NPC 协助战斗。
- 通过实现 GIS_EquipmentInterface,在 OnEquipmentBeginPlay 生成 NPC,在 OnEquipmentEndPlay 销毁 NPC。
网络复制注意
Actor的网络复制通常由自己处理,因此,确保在实现装备接口中的IsReplicationManaged时返回false.
案例
将 Manny 和 Quinn 设置为装备实例,可在“宠物”装备组之间切换。

