BlueRoseNote/05-SDHGame/ActionRPG时代的设计/RPGGameplayAbility使用文档.md

50 lines
2.7 KiB
Markdown
Raw Normal View History

2023-06-29 11:55:02 +08:00
## 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并且执行对应回调事件。