언리얼 엔진 - 게임 프로젝트/AWS GameLift를 활용한 데디케이트 FPS 프로젝트

Access Tokens - 9) 확장된 드롭다운 메뉴 UI 기능 추가

monstro 2026. 6. 20. 18:16
728x90
반응형

- 개요

확장된 드롭다운 메뉴 UI에 기능을 추가하여 로그아웃을 수행할 수 있도록 설정한다

 

- 스크립트 작업

1) DSLocalPlayerSubsystem 클래스

 

 

DSLocalPlayerSubsystem 클래스 GetAuthResult 함수를 추가하여 로그인 성공시에 발급되는 정보를 반환한다

 

2) AccountDropdown_Expanded 클래스

 

확장된 드롭다운 메뉴의 위젯 클래스를 생성한다

이전에 생성한 위젯 블루프린트부모 클래스를 위 클래스로 교체한다

멤버변수의 구성은 위와 같다

  • Button_SignOut 멤버변수 : 로그아웃 버튼
  • TextBlock_SignOutButtonText 멤버변수 : 로그아웃 버튼의 텍스트
  • HoveredTextColor 멤버변수 : 로그아웃 버튼을 호버링하는 경우의 텍스트 색상
  • UnhoveredTextColor 멤버변수 : 로그아웃 버튼을 호버링 해제하는 경우의 텍스트 색상
  • PortalManagerClass 멤버변수 : 포탈 중재자 클래스서브클래스 타입을 지정
  • PortalManager 멤버변스 : PortalManagerClass생성된 객체를 지정

 

 

SetSignOutButtonStyleTransparent 함수의 로직을 위와 같이 구성하여

로그아웃 버튼투명한 클릭 영역으로 설정한다

 

 

SignOutButton_OnClicked 함수를 위와 같이 구성한다

Portal 중재자DSLocalPlayerSubsystem을 사용하여

로그인 성공 시점발급된 정보를 넘겨주어 서버에 로그아웃을 요청한다

 

 

SignOutButton_Hover 함수SignOutButton_Unhover 함수를 위와 같이 구성하여

버튼의 호버링 여부에 따라 버튼 텍스트의 색상을 변경한다

 

 

이벤트 바인딩이나 필요한 데이터를 연동하는 NativeConstruct 함수를 추가하여

Portal 중재자 클래스의 객체를 생성하고

로그아웃 버튼 UI의 클릭 / 호버링 / 호버링 해제에 대한 콜백함수를 바인드한다

 

 

UI 컴포넌트를 세팅하는 NativePreConstruct 함수를 추가하여

필요한 함수들을 호출하여 로그아웃 버튼 UI의 투명화 + 로그아웃 버튼의 호버링을 해제한다

 

3) PortalManager 클래스

 

SignOut_Response 함수에 로직을 추가하여

서버에서 반환된 로그아웃 처리 결과를 문제없이 직렬화했다면 로그를 남기도록 설정한다

 

- 블루프린트 작업

1) WBP_Expanded 위젯 블루프린트

 

위와 같이 부모 클래스를 변경하였다

 

 

필요한 멤버변수의 값을 위와 같이 설정하였다

 

 

클래스의 멤버변수 이름실제 위젯들의 이름을 통일하여 구성하였다

 

- 최종 실행 결과

로그아웃 진행

 

로그 결과

 

위와 같이 로그가 남겨진 것을 확인할 수 있다

728x90
반응형