我有一个GameplayAbility GA
,其中分配了 cost GameplayEffect GE_cost
。 GE_cost
的持续时间为1.0秒。 GA
应用于目标演员MyActor
。
当GE_cost
被提交(MyActor
)时,Unreal Gameplay Ability System将GA
应用于GA::CommitAbility()
。但是,在调用GA::EndAbility()
之后(结束GA
的执行),GE_cost
仍然每秒MyActor
执行一次。
现在,我希望能够删除(或停止)GE_cost
,这使我想到以下问题:
GA <-> GE_cost
终身问题
GE_cost
的生存期是否独立于GA
的执行时间? (显然是)GE_cost
的生存时间是否独立于GA
的应用时间? (即即使GE_cost
从GA
中删除了,MyActor
也会被连续执行吗?)ApplyGameplayEffectToOwner()
)?UGameplayEffect::OngoingTagRequirements
似乎是使用GameplayTags来关闭(无限)持续时间的 GameplayEffect 的唯一方法。但是,关闭 GameplayEffect 不会删除吗?RemoveGameplayEffect*()
函数之一?