Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
AT_Trace.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "Abilities/Tasks/AbilityTask.h"
6#include "AT_Trace.generated.h"
7
8class ATA_Trace;
11
12
13DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FTraceResultDelegate, const FGameplayAbilityTargetDataHandle&, TargetDataHandle, float, CombatDataLevel, int32, CombatHitDataIndex);
14
15UCLASS()
16class CK_UE_API UAT_Trace : public UAbilityTask
17{
18 GENERATED_BODY()
19
20public:
21 UAT_Trace();
22 static UAT_Trace* CreateTask(UGameplayAbility* OwningAbility, const UCombatDataBase* InCombatData, float InCombatDataLevel, int32 InCombatHitDataIndex, bool bInSingleTrace = false, int32 InMaxHitCountPerTarget = 1, UDA_MultiHitProfile* InMultiHitProfile = nullptr, bool bInHasOverrideTraceTransform = false, const FTransform& InOverrideTraceTransform = FTransform::Identity);
23
24 virtual void Activate() override;
25 virtual void OnDestroy(bool bInOwnerFinished) override;
26
27protected:
28 void OnTargetDataReadyCallback(const FGameplayAbilityTargetDataHandle& DataHandle);
29 void OnFinisherTargetDataReadyCallback(const FGameplayAbilityTargetDataHandle& DataHandle);
30
31public:
32 // Normal 적중. 단발(MaxHit=1)이거나 다단의 마지막 직전 적중까지.
33 FTraceResultDelegate OnCompleteDelegate;
34
35 // Finisher 적중. 다단의 마지막 적중(Count == MaxHit)
36 FTraceResultDelegate OnFinisherCompleteDelegate;
37
38protected:
39 UPROPERTY(Transient)
40 TSubclassOf<ATA_Trace> TargetActorClass; // 클래스 값
41
42 UPROPERTY(Transient)
43 TObjectPtr<ATA_Trace> SpawnedTargetActor; // 실제 스폰시켰을때 보관하는
44
45 UPROPERTY(Transient)
46 TObjectPtr<UDA_MultiHitProfile> CachedProfile;
47
48 float CombatDataLevel = 1.0f;
49 int32 CombatHitDataIndex = 1;
50 ECollisionChannel TaskTraceChannel = ECC_GameTraceChannel1;
51 bool bSingleTrace = false;
52 bool bHasOverrideTraceTransform = false;
53 int32 TaskMaxHitCountPerTarget = 1;
54 FTransform OverrideTraceTransform = FTransform::Identity;
55
56 FDelegateHandle FinisherDelegateHandle;
57};
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FTraceResultDelegate, const FGameplayAbilityTargetDataHandle &, TargetDataHandle, float, CombatDataLevel, int32, CombatHitDataIndex)
Definition TA_Trace.h:29
Definition AT_Trace.h:17
FTraceResultDelegate OnFinisherCompleteDelegate
Definition AT_Trace.h:36
FTraceResultDelegate OnCompleteDelegate
Definition AT_Trace.h:33
Definition CombatDataBase.h:116
Definition MultiHitProfile.h:23