인터페이스 메시지 처리 루틴

인터페이스 호출 책임 분리

플레이어는 상호작용 가능한 대상인지 확인하고 메시지만 보냅니다. 실제 문 열림, 레버 작동, 버튼 입력은 각 액터의 구현에 맡깁니다.

Find Target

상호작용 대상 확보

Line Trace나 Overlap으로 플레이어가 바라보는 액터 레퍼런스를 얻습니다.

점검

BPI 구현 여부 확인

Does Implement Interface로 메시지를 받을 수 있는 대상인지 걸러냅니다.

Message

Interact 메시지 호출

Target에 Interact Message를 보내고, 구체 클래스 캐스팅은 피합니다.

Implement

액터별 반응 실행

문은 열리고, 레버는 상태를 바꾸고, 버튼은 연결된 장치를 호출합니다.

Caller

플레이어 블루프린트

대상 탐색, 거리 제한, 입력 타이밍만 책임집니다. 대상 종류는 몰라도 됩니다.

Receiver

BPI 구현 액터

Interact 이벤트 안에서 자신에게 맞는 애니메이션, 소리, 상태 변경을 실행합니다.