BlueRoseNote/05-SDHGame/ActionRPG时代的设计/RPGGameplayAbility使用文档.md
2023-06-29 11:55:02 +08:00

50 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## RPGGameplayAbility使用说明
### AnimNotify
- ANS_SendGameplayEventToSelfTwice
- ANS_AddGameplayEffectToSelf
### GameplayAbility
/** Gameplay标签与GameplayEffect Map */
ActionRPG框架使用
- TMap<FGameplayTag, FRPGGameplayEffectContainer> EffectContainerMapTag与Effect的对应关系Map根据接收到的Tag应用对应的GE。
- FGameplayTagContainer ActivateEffectTag存储被激活的EffectTag。
- MakeEffectContainerSpecFromContainer()根据EffectContainerMap构建EffectContainerSpec。
- MakeEffectContainerSpec()构建EffectContainerSpec。
- ApplyEffectContainerSpec()对指定目标应有GE。
- ApplyEffectContainer() 调用MakeEffectContainerSpec生成FRPGGameplayEffectContainerSpec再对指定目标应用GE。
- TMap<FGameplayTag, FActiveGameplayEffectHandle> ActivateEffectMapTag与ActiveEffectHandle的Map.
- BP_ApplyGameplayEffectToOwnerAndSaveHandle()往ActivateEffectMap添加Tag与Handle的版本。
- ApplyGameplayEffectToOwnerAndSaveHandle()往ActivateEffectMap添加Tag与Handle的版本。
- K2_ApplyGameplayEffectSpecToOwnerAndSaveHandle()往ActivateEffectMap添加Tag与Handle的版本。
- ApplyGameplayEffectSpecToOwnerAndSaveHandle()往ActivateEffectMap添加Tag与Handle的版本。
- BP_ApplyGameplayEffectToTargetAndSaveHandle()往ActivateEffectMap添加Tag与Handle的版本。
- ApplyGameplayEffectToTargetAndSaveHandle()往ActivateEffectMap添加Tag与Handle的版本。
K2_ApplyGameplayEffectSpecToTargetAndSaveHandle()往ActivateEffectMap添加Tag与Handle的版本。
- ApplyGameplayEffectSpecToTargetAndSaveHandle()往ActivateEffectMap添加Tag与Handle的版本。
- RemoveActiveGameplayEffectByContainer()根据指定Tag查询ActivateEffectMap之后根据Tag对应的Handle移除对应自身的GE,不指定就移除所有Map存储的GE。
### AttributeSet
具体请参考RPGAttributeSet.h中注释。
#### 基础属性
- 生命值 FGameplayAttributeData Health;
- 最大生命值 FGameplayAttributeData MaxHealth;
- 精力值 FGameplayAttributeData Energy;
- 最大精力值 FGameplayAttributeData MaxEnergy;
- 魔法值 FGameplayAttributeData Rune;
- 最大魔法 FGameplayAttributeData MaxRune;
- 攻击力 FGameplayAttributeData AttackPower;
- 防御力 FGameplayAttributeData DefensePower;
- 移动速度 FGameplayAttributeData MoveSpeed;
- 韧性 FGameplayAttributeData Tough;
### GameplayTag
具体请参考Config目录下的GameplayTag.json文件。
### AsyncTasks
- AsyncTaskAttributeChanged异步检测属性集中的属性变化。
- AsyncTaskCooldownChanged异步检测冷却变化。
- AsyncTaskEffectStackChanged异步检测GE堆叠变化。
- URPGAbilityTask_PlayMontageAndWaitForEvent播放Montage并且执行对应回调事件。