跳至主要內容

LY5.Lyra-装备系统

Mr.Si大约 2 分钟unreal

概念

头像
在深入装备系统前,我们需要先理解一下装备系统、道具系统(背包)的区别
头像
我认为装备系统维护玩家正在使用的装备,而道具系统更像仓库存放各类物品。

各模块职责分析

头像
不废话先看有哪些类
头像
我已经开始头晕了!
头像
别慌,咱们先把这些类画一下

类图

ULyraEquipmentDefinition(装备定义模块)

核心类: • ULyraEquipmentDefinitionFLyraEquipmentActorToSpawn

职责: • 定义装备的静态属性(如生成的Actor类型、附加点信息) • 配置装备授予的能力集(AbilitySets)

ULyraEquipmentInstance(装备实例)

核心类: • ULyraEquipmentInstance

职责: • 管理装备实例的生命周期(OnEquipped/OnUnequipped) • 处理Actor的生成与销毁(Spawn/DestroyEquipmentActors) • 网络同步装备状态(Replicated属性)

ULyraEquipmentManagerComponent(装备管理模块)

核心类: • ULyraEquipmentManagerComponentFLyraEquipmentList

职责: • 管理Pawn的装备列表 • 处理装备的添加/移除网络同步 • 与AbilitySystem组件交互授予/移除能力

快捷栏系统

核心类: • ULyraQuickBarComponent

职责: • 管理玩家物品快捷栏 • 处理装备切换逻辑 • 同步槽位状态

LyraPickupDefinition(拾取物)

核心类: • ULyraPickupDefinitionULyraWeaponPickupDefinition

职责: • 定义拾取物的视觉表现(模型/特效/音效) • 配置拾取物关联的物品定义

能力系统集成

核心类: • ULyraGameplayAbility_FromEquipment

职责: • 建立装备与GameplayAbility的关联 • 提供装备上下文给能力系统

头像
虽然你写了一大堆,我还是一脸懵逼!
头像
那是因为你没有完整的体验一遍使用流程

时序图

玩家通过快捷栏装备一件物品

切换快捷栏槽位

卸下装备