装备实例

The documentation of Generic Game Framework.

通用库存系统.封面
罗传月武(YueWu)

作者

罗传月武(YueWu)

专注游戏开发和Web技术。

创建时间: 2025年7月16日更新时间: 2026年9月15日

目录

什么是装备实例

在通用库存系统(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 设置为装备实例,可在“宠物”装备组之间切换。

装备系统.ActorEquipment配置