原始武器(PrimalWeapon)
用途:用于玩家手持武器与快捷栏物品生成的武器
变量 | 描述 |
---|---|
OwnerCharacter | 父角色,拥有者 |
AbilitySpecHandles | 添加能力句柄 |
AttachType | 武器附加类型 Behind 背后 Hand 手中 Physic 物理掉落 |
bTempWeapon | 是否为临时武器,例如快捷栏生成的武器,无法背在身后 |
ActiveGameplayEffectHandle | 激活的GE修改器句柄 |
GameEffectClass | GE类型,武器拥有的能力需要添加到GE中玩家手持时将会激活GE,背在身后时将会取消GE |
DrawWeaponAbilityClasss DisarmWeaponAbilityClasss | 拿起武器能力类型/解除武器能力类型 该能力将会生成实体时给予拥有者,用于从身后拿取武器,如未设置,则会跳过动画直接附加到手中 |
InputAbilityMap | 输入能力地图,例如左键->能力A,仅需添加初始能力 |
WeaponType | 武器类型 Uarmed 空手 Melee 近战 Range 远程 Wizar 法杖 |
WeaponCategory | 武器分组 None 无 Sword 剑 GreatSword 大剑 DualWield 双刀 Katana 武士刀 Spear 长矛 Staff 法杖 Bow 弓 Axe 斧头 PickAxe 镐 |
Amount | 弹药数量 |
AmmoItemBasic | 弹药类型 |
Buffs | 武器BUFF |
DamageType | 伤害类型 |
bApplyHitSoundIfValid HitEffectSound | 是否开启命中音效 命中音效 |
bApplyHitEffectIfValid HitEffectSystemType HitEffectPS/HitEffectNS/HitGameplayCueTags | 是否开启命中特效,例如雷电剑命中后的雷电特效 |
SurfaceHitEffects | 物理材质命中特效,用于武器单独设置命中特效 优先该变量 |
SlashEffectSystemType SlashEffectPS/SlashEffectNS/SlashGameplayCueTags | 刀光特效,仅命中Character时生成 |
函数 | 描述 |
AddBuff(TSubclassOf<AWeaponBuff> BuffClass,float Duration) | 添加武器BUFF |
RemoveBuff(AWeaponBuff* Buff) | 移除武器BUFF |
DestroyAllBuff | 销毁所有武器BUFF |
SetAttach(EWeaponAttachType NewAttachType) | 设置附加状态 |
GetAbilityByInput(FGameplayTag InputTag) | 使用输入标签获取能力 |
ApplyGameEffect(bool bEnable) | 应用GE修改器 |
CanEquipToHand(重载) | 可否手持,例如游泳状态无法手持武器 |
OnAttach(EWeaponAttachType NewAttachType)(重载) | 附加状态改变 |
OnCreate(UPrimalItemBasic* NewItemClass) | 创建时 |
MulticastSetAmmoClass(UPrimalItemBasic* NewAmmoItemBasic) | 组播,设置武器弹药类型 |
GetMeshsInternal(重载) | 获取所有武器网格体组件 |
SetWeaponVisible(bool bVisible) | 设置武器是否可见 |
OpenTrail(重载) | 开启武器拖尾特效, 使用网格体插槽TrailStart 到 TrailEnd |
CloseTrail(重载) | 关闭武器拖尾特效 |
ApplyTrailParticle(UPrimitiveComponent* MeshComponent, UParticleSystem* TrailParticle) | 应用拖尾粒子特效,该特效为快速销毁的特效,例如闪光 需要网格体添加插槽 Trail_Part_1 Trail_Part_2 Trail_Part_3 |
ApplyCollostion(UUltimateCollisionComponent* CollisionComponent,ECollistionType CollistionType) | 应用武器碰撞 |
GetWeaponStats(重载) | 获取武器的属性列表 |
ApplySurfaceHitEffect(FHitResult HitResult) | 应用命中特效 生成例如闪电效果和声音,返回音效是否已生成 如果EffectSystemType 为Cue 则需要自行创建GC处理特效 特效优先级:HitGameplayCue->SurfaceHitEffects->HitEffectPS/NS 音效优先级:SurfaceHitEffects -> HitEffectSound 如果返回false,则需要使用WorldSettings->ApplySurfaceHitEffect(HitResult,true,true);生成默认特效和声音 如果返回true,则只需使用WorldSettings->ApplySurfaceHitEffect(HitResult,false,true);生成特效 |
通知与通知状态:
UANS_WeaponTrail:武器拖尾通知状态,用于开启武器拖尾
UAN_ToggleWeapon:武器切换状态,用于武器切换附加状态bDisarmWeapon是否收回武器
UAN_WeaponBuff:给予武器BUFF,例如火焰剑能力蒙太奇中为武器添加火焰BUFF