Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
ATA_WeaponSphereTrace 클래스 참조

#include <TA_WeaponSphereTrace.h>

ATA_WeaponSphereTrace에 대한 상속 다이어그램 :
Inheritance graph
ATA_WeaponSphereTrace에 대한 협력 다이어그램:
Collaboration graph

Public 멤버 함수

 ATA_WeaponSphereTrace ()
 
- ATA_Trace(으)로부터 상속된 Public 멤버 함수
 ATA_Trace ()
 
virtual void StartTargeting (UGameplayAbility *Ability) override
 
virtual void ConfirmTargetingAndContinue () override
 
virtual void StopTargeting ()
 
virtual void Tick (float DeltaSeconds) override
 
FORCEINLINE void SetShowDebug (bool InShowDebug)
 
FORCEINLINE void SetLevel (float InLevel)
 
FORCEINLINE void SetTraceChannel (ECollisionChannel InChannel)
 
FORCEINLINE void SetSingleTrace (bool bInSingleTrace)
 

Protected 멤버 함수

virtual void PerformTrace (TArray< FHitResult > &OutHits) override
 

Protected 속성

FName StartSocketName = FName("TraceStart")
 
FName EndSocketName = FName("TraceEnd")
 
float TraceRadius = 30.0f
 
- ATA_Trace(으)로부터 상속된 Protected 속성
virtual void PerformTrace(TArray< FHitResult > &OutHits) PURE_VIRTUAL(ATA_Trace void ProcessTraceResults ()
 
bool bShowDebug = true
 
float Level = 1.0f
 
ECollisionChannel TraceChannel
 
bool bSingleTrace = false
 
TSet< TWeakObjectPtr< AActor > > HitActors
 

생성자 & 소멸자 문서화

◆ ATA_WeaponSphereTrace()

ATA_WeaponSphereTrace::ATA_WeaponSphereTrace ( )
9{
10 TraceRadius = 30.0f;
11}
float TraceRadius
Definition TA_WeaponSphereTrace.h:31

멤버 함수 문서화

◆ PerformTrace()

void ATA_WeaponSphereTrace::PerformTrace ( TArray< FHitResult > &  OutHits)
overrideprotectedvirtual
14{
15 ACharacter* Character = Cast<ACharacter>(SourceActor);
16 if (!Character)
17 {
18 return;
19 }
20
21 UPrimitiveComponent* WeaponMesh = nullptr;
22 if (ACK_CharacterPlayer* CKPlayer = Cast<ACK_CharacterPlayer>(Character))
23 {
24 WeaponMesh = CKPlayer->GetWeaponMesh();
25 }
26
27 if (!WeaponMesh)
28 {
29 return;
30 }
31
32 if (!WeaponMesh->DoesSocketExist(StartSocketName) || !WeaponMesh->DoesSocketExist(EndSocketName))
33 {
34 return;
35 }
36
37 const FVector Start = WeaponMesh->GetSocketLocation(StartSocketName);
38 const FVector End = WeaponMesh->GetSocketLocation(EndSocketName);
39
40 if (Start.Equals(End, 1.0f))
41 {
42 return;
43 }
44
45 FCollisionQueryParams Params(SCENE_QUERY_STAT(ATA_WeaponSphereTrace), false, Character);
46
47 GetWorld()->SweepMultiByChannel(
48 OutHits, Start, End, FQuat::Identity,
49 TraceChannel, FCollisionShape::MakeSphere(TraceRadius), Params);
50
51#if ENABLE_DRAW_DEBUG
52 if (bShowDebug)
53 {
54 FColor DrawColor = OutHits.Num() > 0 ? FColor::Green : FColor::Red;
55 FVector Center = Start + (End - Start) * 0.5f;
56 float HalfHeight = (End - Start).Size() * 0.5f;
57 FQuat Rotation = FRotationMatrix::MakeFromZ(End - Start).ToQuat();
58
59 DrawDebugCapsule(GetWorld(), Center, HalfHeight, TraceRadius, Rotation, DrawColor, false, 0.1f);
60 }
61#endif
62}
Definition CK_CharacterPlayer.h:20
ECollisionChannel TraceChannel
Definition TA_Trace.h:38
bool bShowDebug
Definition TA_Trace.h:36
Definition TA_WeaponSphereTrace.h:14
FName StartSocketName
Definition TA_WeaponSphereTrace.h:25
FName EndSocketName
Definition TA_WeaponSphereTrace.h:28

멤버 데이터 문서화

◆ EndSocketName

FName ATA_WeaponSphereTrace::EndSocketName = FName("TraceEnd")
protected

◆ StartSocketName

FName ATA_WeaponSphereTrace::StartSocketName = FName("TraceStart")
protected

◆ TraceRadius

float ATA_WeaponSphereTrace::TraceRadius = 30.0f
protected

이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: