Unreal Engine 4 —— GAS系统学习 (三十五)群体技能GroundBlast(3)

欢迎大家加入Unreal Engine C++ & Blueprint群一起交流:1143575617

这一节我们将技能范围内检测到的敌人数据进行打包发送出去。

这里的发送是需要用到代理的:FGameplayAbilityTargetDataHandle类。

需要用到的父类属性有两个,一个是StartLocation,即技能起始位置。还有一个是TargetDataReadyDelegate,它是FAbilityTargetData的对象,包含有Broadcast方法,这是我们需要用到的。

在ComfirmTargetingAndContinue方法中加上以下代码(有重复的忽略):

void AGATargetActor::ConfirmTargetingAndContinue(){
	
	FVector lookAt;
	
	bool tryTrace =  GetLookAtLocation(lookAt);

	FCollisionQueryParams collisionQueryParams;
	AShibiCharacter* shinbi = Cast<AShibiCharacter>(GetWorld()->GetFirstPlayerController()->GetPawn());
	collisionQueryParams.bTraceComplex = false;
	collisionQueryParams.bReturnPhysicalMaterial = false;

	if (MasterPC) {
		collisionQueryParams.AddIgnoredActor(shinbi->GetUniqueID());
	}
	
	TArray<FOverlapResult> overlaps;
	TArray<TWeakObjectPtr<AActor>> overlap
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页