- 개요
클라이언트의 입력을 받아 언리얼 엔진으로부터 서버로 요청을 보내어
AWS GameLift에서 제공하는 서비스를 수행하기 위한 테스트용 위젯을 생성한다
테스트할 API는 List Fleets 명령어로 사용자의 특정 리전에 생성된 모든 게임 서버 플릿의 ID 목록을 반환한다
- C++ 사이드
1) DedicatedServers 모듈 관련
1 - 1) FleetId 클래스

반환된 서버 플릿의 ID를 표현할 하나의 행 역할을 하는 UFleetId 클래스를 생성한다
TextBlock 멤버변수를 사용하여 서버 플릿의 ID를 표현하고
이때 "meta = (BindWidget)" 속성을 사용하여 코드의 변수와 에디터에서 만든 실제 위젯과 연결한다
1 - 2) ListFleetsBox 클래스

플레이어로부터 입력을 받아 ListFleets 명령어를 실행하도록 요청하고
또, 반환된 서버 플릿의 ID의 목록을 표현할 ListFleetsBox 클래스를 생성한다
ScrollBox 멤버변수를 사용하여 반환된 서버 플릿의 ID 목록을 표현하고
Button 멤버변수를 사용하여 API의 실행을 요청한다
동일하게 "meta = (BindWidget)" 속성을 사용하여 변수와 실제 위젯을 연결한다
1 - 3) APITestOverlay 클래스

테스트용 위젯들을 전부 포함하는 위젯인 APITestOverlay 클래스를 생성한다
1 - 4) APITestHUD 클래스

UI의 전반적인 상태를 관리하는 컨테이너 역할의 APITestHUD 클래스를 생성한다
멤버변수는 위와 같다
- APITestOverlayClass 멤버변수 : APITestOverlay 클래스의 서브 클래스의 타입을 지정
- APITestOverlay 멤버변수 : APITestOverlayClass 변수를 기반으로 생성될 객체를 참조

BeginPlay 함수를 위와 같이 오버라이드한다
부모 버전의 함수를 호출하고 로컬의 PlayerController를 가져온다
이후 PlayerController와 APITestOverlayClass 변수가 유효한지 확인하고
해당 변수를 기반으로 위젯을 생성한 후에 뷰포트에 추가한다
- 애셋 사이드
1) WBP_FleetID 위젯 블루프린트

위와 같이 계층을 구성하여 위젯 블루프린트를 생성한다
이때 계층을 구성하는 TextBlock 위젯의 이름을 코드의 변수 이름과 통일한다
2) WBP_ListFleets 위젯 블루프린트

위와 같이 계층을 구성하여 위젯 블루프린트를 생성한다
동일하게 계층의 위젯 이름을 코드의 변수 이름과 통일한다
3) WBP_APITestOverlay 위젯 블루프린트

위와 같이 계층을 구성하여 위젯 블루프린트를 생성한다
테스트 용도로 구성하여 위와 같이 위젯을 하나만 추가하였다
4) BP_APITestHUD 블루프린트

APITestOverlayClass 변수의 값을 3)에서 생성한 위젯 블루프린트로 설정한다
5) 로그인 화면 세팅

기본 시작 레벨을 로그인 화면으로 변경하고 GameMode와 HUD 클래스를 위와 같이 변경한다
- 최종 실행 결과

'언리얼 엔진 - 게임 프로젝트 > AWS GameLift를 활용한 데디케이트 FPS 프로젝트' 카테고리의 다른 글
| API Gateway - 6) 서비스 요청과 결과 처리 (0) | 2026.05.15 |
|---|---|
| API Gateway - 5) 중재자와 엔드포인트 데이터 애셋의 생성 (0) | 2026.05.15 |
| API Gateway - 3) DedicatedServers 모듈 생성 (0) | 2026.05.11 |
| API Gateway - 2) REST API 생성 (0) | 2026.05.10 |
| API Gateway - 1) 계획 (0) | 2026.05.09 |