介绍
GGA对GameplayAbilities插件进行了大量的拓展,且被划分到不同的蓝图函数库。
这意味着,大多数情况下:
- 你不需要编写C++。
- 采用函数库,大多数功能不需要你更改已经存在的GameplayAbility父类。
蓝图函数库
很多拓展我都尽可能写在了函数库中,这意味着你不需要Cast到GGA中的具体的AbilitySystemComponent才能使用这些功能。
大多数在蓝图中不容易访问的内容,都已经被拓展并暴露给蓝图。
这些拓展库会随着时间推移不断增加,所以实际的拓展内容不仅仅只是截图展示那样。
技能系统函数库
此函数库,主要是对AbilitySystemComponent的拓展,以及GameplayAbilities这个插件的一些全局拓展。



游戏技能函数库

游戏效果函数库


游戏属性函数库
游戏属性的拓展属于Gameplay属性系统部分,请查阅相关文档,获取更多信息。


AbilityTask
如下只是一些截图,提供的Task会逐步添加。


自定义AbilityTask
GAS的高级特性,例如自定义AbilityTask,仍然需要你使用C++,但是GGA已经包含了常见的AbilityTask且比较通用,对于大多数常见功能,你不需要自定义。
自定义GameplayEffectContext
GameplayEffectContext用于在技能/效果执行周期中,传递一些额外的数据且支持网络同步,但只能在C++完成。
现存的很多GAS教学都告诉你这是最佳的传递信息的方式,但其实并不是。
拿我自己的战斗系统举例:
我在我在蓝图中处理所有的属性更变(它发生在服务端,以及预测客户端。),并将Ability/Effect本身的信息,属性变更信息,连同额外的信息(攻击请求,攻击结果等信息)放入一个自定义的结构体,并存入我的战斗系统组件,并通过该组件同步到客户端。既满足我得所有需求,也不需要自定义EffectContext,全都在蓝图中完成。