- 개요
프로젝트에서 마우스 커서가 동작하는 방식을 개선한다
- C++ 사이드
1) Aura 클래스

마우스 커서로 가리키는 대상에게 적용할 하이라이트 효과의 수치를 위와 같이 추가한다
2) HighlightInterface 클래스

BlueprintType 어트리뷰트를 추가하여 HighlightInterface를 블루프린트에서 변수로 사용할 수 있도록 설정한다
3) Checkpoint 클래스

CheckpointMesh 멤버변수에 BlueprintReadOnly 어트리뷰트를 추가하여 읽기 전용으로 설정한다
4) AuraPlayerController 클래스

마우스 커서의 타겟팅 상태를 의미하는 TargetingStatus 열거형을 추가한다
멤버들은 다음과 같다
- TargetingEnemy : 적을 타겟팅하고 있는 상태
- TargetinNonEnemy : 적이 아닌 다른 대상을 타겟팅하고 있는 상태
- NotTargeting : 아무것도 타겟팅하고 있지 않은 상태

기존의 불리언 변수를 삭제하고 TargetingStatus 열거형의 멤버변수로 변경한다

AbilityInputTagPressed 함수를 위와 같이 수정한다
이번 프레임에서 마우스 커서로 타겟팅중인 대상을 판단하여 TargetingStatus 멤버변수를 설정한다
타겟팅중이므로 오토 러닝할 수 없도록 bAutoRunning 멤버변수를 False로 설정한다

AbilityInputTagReleased 함수를 위와 같이 수정한다
조건문의 판단 로직을 적을 타겟팅하고 있지 않은 경우로 변경하고
로직을 수행한 후에 TargetingStatus 멤버변수의 값을 초기화한다

AbilityInputTagHeld 함수를 위와 같이 수정하여 조건문의 판단 로직을 적을 타겟팅하고 있는 경우로 변경한다

CursorTrace 함수를 위와 같이 수정하여 타겟팅할 수 없는 대상을 타겟팅 중이면
이전에 타겟팅한 대상과 현재까지 타겟팅한 대상 모두의 타겟팅 시각효과를 해제한다
- 블루프린트 사이드
1) BP_Checkpoint 블루프린트

HighlightInterface를 상속받도록 수정한다

HighlightActor 함수와 UnHighlightActor 함수를 오버라이드한다
- 최종 실행 결과
'언리얼 엔진 - 게임 프로젝트 > GAS 프레임워크 RPG 프로젝트' 카테고리의 다른 글
| 게임 맵 - 3) 몬스터 스포너와 맵 재시작 구현 (0) | 2026.01.11 |
|---|---|
| 게임 맵 - 2) 던전 구조물과 입구 추가 (0) | 2026.01.10 |
| 체크 포인트 - 최종) 월드 저장하고 불러오기 (0) | 2026.01.09 |
| 체크 포인트 - 3) GameplayAbility 저장 + 불러오기 (0) | 2026.01.02 |
| 체크 포인트 - 2) PlayerState가 소유하고 있는 데이터 저장 + 불러오기 (0) | 2026.01.01 |