GAS系统 :GameplayEffect应用流程及Attribute修改

本文详细阐述了FAggregator在GE中的应用流程,涉及属性修改的检查、非InstantGE的生效机制,以及属性计算(加、乘、除法影响)的过程。通过FScopedAggregatorOnDirtyBatch实现属性修改的批处理和回调处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面:
聚合器(FAggregator) :可以理解为一个Attribute属性,在GE有对此属性有修改时会创建一个,里面主要储存了属性的BaseValue,所有对此属性修改的信息。

一,GE的应用流程(暂时不考虑预测相关)

以给自身Apply一个GE为例(ApplyTarget最终也是用Target的AbilitySystemComponent调用目标的ApplytoSelf,只是在MakeEffectContext的时候有所区别)
在这里插入图片描述
ApplyGameplayEffectSpecToSelf为入口:
检查网络端或者是否有合法的预测key:
在这里插入图片描述
Tag配置检查,Modify的属性有效性配置检查,自定义应用条件检查(太长,感兴趣自己看一下):

如果上述条件都没有问题,且不算Instant类型的GE,那么就会走到ActiveGameplayEffects的ApplyGameplayEffectSpec;这个函数就是非Instant类型的GE生效的函数,里面包括快照属性,计算属性修改更新,Duration计时,GE层数叠加的核心操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值