✅ 오늘 한 일 (Done)
- 비동기 공격 흐름 제어:
FOnPerformAttackEndDelegate 델리게이트를 생성하여, 몽타주 애니메이션 종료 시점을 비헤이비어 트리가 인지하도록 구현.
- 무기 장착 시스템: 몬스터 메쉬의 손 뼈(Hand Bone)에 소켓을 추가하고 검(Sword) 메쉬를 부착하여 시각적 완성도 향상.
- 몽타주 상태 연동:
Play Montage 노드의 On Completed, On Interrupted 이벤트를 델리게이트와 연결하여 애니메이션이 완전히 끝난 후 로직이 종료되도록 설정.
💣 트러블 슈팅 (Issue & Fix)
- 문제: 몬스터가 칼을 휘두르는 애니메이션 도중에 갑자기 이동하거나 회전하는 등 다음 행동을 수행해버림.
- 원인: BT Task 내에서 몽타주 재생 함수를 호출한 뒤, 애니메이션이 끝나는 것을 기다리지 않고 즉시
Finish Execute가 호출되었기 때문.
- 해결: 커스텀 델리게이트(
OnPerformAttackEnd)를 만들어 몽타주의 종료 시점(Completed/Interrupted)에 Broadcast하고, 이를 감지했을 때만 Finish Execute를 호출하도록 수정.
💡 핵심 코드 (Key Logic)
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnPerformAttackEndDelegate);
UPROPERTY(BlueprintAssignable, VisibleAnywhere, BlueprintReadWrite, Category = "AI")
FOnPerformAttackEndDelegate OnPerformAttackEnd;