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

2.7 KiB
Raw Permalink Blame History

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并且执行对应回调事件。