## RPGGameplayAbility使用说明 ### AnimNotify - ANS_SendGameplayEventToSelfTwice - ANS_AddGameplayEffectToSelf ### GameplayAbility /** Gameplay标签与GameplayEffect Map */ ActionRPG框架使用 - TMap EffectContainerMap:Tag与Effect的对应关系Map,根据接收到的Tag应用对应的GE。 - FGameplayTagContainer ActivateEffectTag:存储被激活的EffectTag。 - MakeEffectContainerSpecFromContainer():根据EffectContainerMap构建EffectContainerSpec。 - MakeEffectContainerSpec():构建EffectContainerSpec。 - ApplyEffectContainerSpec():对指定目标应有GE。 - ApplyEffectContainer(): 调用MakeEffectContainerSpec生成FRPGGameplayEffectContainerSpec,再对指定目标应用GE。 - TMap ActivateEffectMap:Tag与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并且执行对应回调事件。