언리얼 엔진 - 게임 프로젝트/GAS 프레임워크 RPG 프로젝트

저장 시스템 - 최종) 저장된 게임 데이터를 사용하여 맵 불러오기

monstro 2025. 12. 27. 21:00
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 위젯 블루프린트

BlueprintInitializeWidget 이벤트의 두 번째 시퀀스

 

위와 같이 로직을 추가하여 플레이 버튼이 클릭되면 ViewModelPlayButtonPressed 함수를 호출한다

 

- 최종 실행 결과

 

728x90
반응형