동일한 입력(Mouse Wheel)이라도 현재 게임의 상태(일반 탐색 vs 자물쇠 퍼즐)에 따라 동작이 달라지도록 분기 처리했습니다. 이를 통해 별도의 키 조작 변경 없이 직관적인 UX를 제공하는 Context-Sensitive 입력 시스템을 구현했습니다.

//Police.cpp

void APolice::OnLockWheelInput(const FInputActionValue& Value)
{
    float AxisValue = Value.Get<float>();

    //상황(Context)에 따른 입력 분기 처리
    
    //자물쇠(LockActor)와 상호작용 중일 때 -> 자물쇠 회전 입력으로 처리
    if (CurrentLockActor && CurrentLockActor->IsInspecting())
    {
        CurrentLockActor->OnWheelAxis(AxisValue);
    }
    //일반 상황일 때 -> 카메라 줌(Zoom) 기능으로 처리
    else
    {
        Zoom(Value);
    }
}