728x90
반응형
- 개요
동작 구성이 많은 로비 레벨의 위젯 일부를 C++ 클래스로 변경하여 기능을 구현한다
- 스크립트 작업
1) SOO_LobbyWidget 클래스

로비 레벨의 메인 위젯에 대한 C++ 클래스를 생성한다
2) SOO_LobbyUserWidget 클래스

로비 레벨에서 플레이어마다의 열을 의미하는 위젯의 C++ 클래스를 생성한다
멤버변수를 위와 같이 구성한다
- Txt_Ready 멤버변수 : 플레이어의 게임 준비 여부를 표시하는 텍스트 위젯
- Txt_PlayerName 멤버변수 : 플레이어의 이름을 표시하는 텍스트 위젯
- Editable_PlayerName 멤버변수 : 플레이어의 이름을 수정하는 텍스트 박스 위젯
- Btn_Ready 멤버변수 : 플레이어의 게임 준비 여부를 설정하는 버튼 위젯
- Btn_KickPlayer 멤버변수 : 호스트(서버)가 플레이어를 퇴장시키는 버튼 위젯
- LobbyPlayerState 멤버변수 : 사용중인 PlayerState 클래스

SetInfo 함수를 추가하여 블루프린트와 동일하게 구현한다
사용중인 PlayerState 멤버변수의 값을 설정하고 RefreshUI 함수를 호출한다

RefreshUI 함수를 위와 같이 구현한다
블루프린트와 동일하게 구성하여 필요한 3개의 불리언 지역 변수 캐싱 + 위젯 숨기기 / 표시를 진행한다
3) SOO_LobbyPlayerController 클래스

ServerHandleChangeNickname RPC 함수에 위와 같이 로직을 추가하여
닉네임이 변경된 후에 서버도 갱신할 수 있도록 설정한다
- 블루프린트 작업
1) WBP_Lobby 위젯 블루프린트

부모 클래스를 UserWidget이 아닌, SOO_LobbyWidget 클래스로 변경한다
2) WBP_LobbyUser 위젯 블루프린트

부모 클래스를 UserWidget이 아닌, SOO_LobbyUserWidget 클래스로 변경한다

이전에 생성한 불필요한 멤버함수들을 제거하고 위와 같이 Event Graph만으로 구성한다
- 최종 실행 결과

728x90
반응형
'언리얼 엔진 - 게임 프로젝트 > 리슨 서버 기반 배틀 로얄' 카테고리의 다른 글
| OnlineSubsystem - 1) OnlineSubsystem이란? (0) | 2026.10.18 |
|---|---|
| UI의 C++ 클래스 - 최종) 플레이어 위젯의 C++ 클래스 생성과 구현 (0) | 2026.10.18 |
| UI 구성 - 최종) 게임의 종료 (0) | 2026.10.16 |
| UI 구성 - 5) GameInstance의 추가와 심리스 트래블 설정 (0) | 2026.10.15 |
| UI 구성 - 4) 강퇴와 닉네임 설정 (0) | 2026.10.11 |