主要作用
当玩家或 AI 通过能力进行目标选择(例如点击地面、选择敌人等)并确认目标后,AbilityTargetDataSetDelegate 会被触发,将收集到的目标数据(FGameplayAbilityTargetDataHandle)传递给绑定的函数,以便能力执行具体的效果(如伤害、治疗、生成物体等)。

 

example:

AbilitySystemComponent.Get()->AbilityTargetDataSetDelegate(SpecHandle,
ActivationPredictionKey).AddUObject(this, &UTargetDataUnderMouse::OnTargetDataReplicatedCallback
);
void UTargetDataUnderMouse::OnTargetDataReplicatedCallback(const FGameplayAbilityTargetDataHandle& DataHandle,
FGameplayTag ActivationTag)
{
AbilitySystemComponent->ConsumeClientReplicatedTargetData(GetAbilitySpecHandle(), GetActivationPredictionKey());
if (ShouldBroadcastAbilityTaskDelegates())
{
ValidData.Broadcast(DataHandle);
}
}
posted on 2025-09-15 21:50  偷懒的阿贤  阅读(8)  评论(0)    收藏  举报