728x90
반응형
- 개요
게임 데이터가 저장된 슬롯을 사용하여 다른 맵을 불러오도록 설계한다
- C++ 사이드
1) LoadScreenSaveGame 클래스

SaveGame 클래스에 맵의 이름을 지정하는 멤버변수를 추가한다
2) AuraGameModeBase 클래스

위와 같이 3개의 멤버변수를 추가한다
- DefaultMapName 멤버변수 : 불러올 기본 맵의 이름
- DefaultMap 멤버변수 : 불러올 기본 맵
- Maps 멤버변수 : 위 2개의 멤버변수를 연결하여 저장하는 TMap

SaveSlotData 함수에 위와 같이 로직을 추가하여 SaveGame 클래스의 불러올 맵의 이름을 설정한다


TravelToMap 함수를 위와 같이 추가하여 데이터 슬롯에 저장된 정보를 사용하여 불러올 맵을 설정하고 불러온다


BeginPlay 함수를 추가하고 Maps 멤버변수에 기본적으로 불러올 맵을 추가한다
3) MVVM_LoadScreen 클래스

NewSlotButtonPressed 함수에 위와 같이 로직을 추가한다
GameMode를 가져와서 데이터 슬롯에 저장할 맵의 이름을 설정한다


PlayButtonPressed 함수를 새롭게 추가한다
GameMode를 가져오고 선택한 슬롯이 유효하다면 GameMode의 TravelToMap 함수를 호출한다

LoadData 함수에 위와 같이 로직을 추가한다
저장된 게임 데이터를 로드한 데이터 슬롯의 맵 이름을 설정한다
- 블루프린트 사이드
1) BP_AuraGameMode 블루프린트

DefaultMapName 멤버변수와 DefaultMap 멤버변수를 위와 같이 설정한다
2) WBP_LoadScreen 위젯 블루프린트

위와 같이 로직을 추가하여 플레이 버튼이 클릭되면 ViewModel의 PlayButtonPressed 함수를 호출한다
- 최종 실행 결과
728x90
반응형
'언리얼 엔진 - 게임 프로젝트 > GAS 프레임워크 RPG 프로젝트' 카테고리의 다른 글
| 체크 포인트 - 2) PlayerState가 소유하고 있는 데이터 저장 + 불러오기 (0) | 2026.01.01 |
|---|---|
| 체크 포인트 - 1) 체크 포인트의 위치를 기준으로 게임 불러오기 (0) | 2025.12.28 |
| 저장 시스템 - 5) 저장된 데이터 슬롯 삭제 (0) | 2025.12.27 |
| 저장 시스템 - 4) 데이터 저장과 불러오기 (0) | 2025.12.26 |
| 저장 시스템 - 3) 데이터 슬롯 재설정 (0) | 2025.12.20 |