2022-05-23 18:41:30 +00:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
|
2022-09-13 07:18:28 +00:00
|
|
|
#include "Abilities/GameplayAbilityTargetTypes.h"
|
|
|
|
#include "Engine/CollisionProfile.h"
|
|
|
|
#include "Engine/EngineTypes.h"
|
|
|
|
#include "Interaction/InteractionQuery.h"
|
|
|
|
#include "Interaction/Tasks/AbilityTask_WaitForInteractableTargets.h"
|
|
|
|
#include "UObject/UObjectGlobals.h"
|
|
|
|
|
2022-05-23 18:41:30 +00:00
|
|
|
#include "AbilityTask_WaitForInteractableTargets_SingleLineTrace.generated.h"
|
|
|
|
|
2022-09-13 07:18:28 +00:00
|
|
|
class UGameplayAbility;
|
|
|
|
class UObject;
|
|
|
|
struct FFrame;
|
2022-05-23 18:41:30 +00:00
|
|
|
|
|
|
|
UCLASS()
|
|
|
|
class UAbilityTask_WaitForInteractableTargets_SingleLineTrace : public UAbilityTask_WaitForInteractableTargets
|
|
|
|
{
|
|
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
|
|
|
|
virtual void Activate() override;
|
|
|
|
|
|
|
|
/** Wait until we trace new set of interactables. This task automatically loops. */
|
|
|
|
UFUNCTION(BlueprintCallable, Category="Ability|Tasks", meta = (HidePin = "OwningAbility", DefaultToSelf = "OwningAbility", BlueprintInternalUseOnly = "TRUE"))
|
|
|
|
static UAbilityTask_WaitForInteractableTargets_SingleLineTrace* WaitForInteractableTargets_SingleLineTrace(UGameplayAbility* OwningAbility, FInteractionQuery InteractionQuery, FCollisionProfileName TraceProfile, FGameplayAbilityTargetingLocationInfo StartLocation, float InteractionScanRange = 100, float InteractionScanRate = 0.100, bool bShowDebug = false);
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
virtual void OnDestroy(bool AbilityEnded) override;
|
|
|
|
|
|
|
|
void PerformTrace();
|
|
|
|
|
|
|
|
UPROPERTY()
|
|
|
|
FInteractionQuery InteractionQuery;
|
|
|
|
|
|
|
|
UPROPERTY()
|
|
|
|
FGameplayAbilityTargetingLocationInfo StartLocation;
|
|
|
|
|
|
|
|
float InteractionScanRange = 100;
|
|
|
|
float InteractionScanRate = 0.100;
|
|
|
|
bool bShowDebug = false;
|
|
|
|
|
|
|
|
FTimerHandle TimerHandle;
|
|
|
|
};
|