Unreal C++ · interaction

입력 모드 전환 루프

UI가 열렸다는 사실만으로 충분하지 않습니다. 어떤 입력을 받을지, 어디로 명령을 넘길지, 어떤 애니메이션으로 결과를 보여줄지까지 한 번에 정리해야 합니다.

메뉴 열기부터 닫기까지

PlayerController
1 PlayerController

위젯 생성

CreateWidgetAddToViewport로 메뉴 수명을 시작합니다.

2 InputMode

포커스 전환

SetInputMode, 위젯 포커스, 커서 표시를 한 번에 맞춥니다.

3 UserWidget

이벤트 위임

클릭은 UI가 받고 공격·옵션 적용은 게임플레이 객체로 넘깁니다.

4 Close Path

원래 상태 복귀

종료 애니메이션 뒤 RemoveFromParent와 GameOnly를 함께 처리합니다.

메뉴 열림: UI가 입력을 소유 메뉴 닫힘: 플레이 입력을 다시 소유

애니메이션이 들어갈 자리

UserWidget
Open

FadeIn / SlideIn

포커스가 UI로 넘어간 순간을 짧게 보여줍니다.

Click

ButtonPress

AddDynamic으로 받은 입력에 즉시 반응합니다.

Fail

Shake / ErrorFlash

거부된 명령은 게임 상태 대신 UI 피드백으로 분리합니다.

Close

FadeOut 완료

재생 완료 콜백에서 위젯 제거와 입력 복귀를 맞춥니다.

분리 기준

애니메이션은 사용자의 피드백이고, 입력 모드 복구는 PlayerController의 책임입니다.