0. 개요
이제 AuraGameModeBase에서 선언된 멤버 변수 TMap<FString, TSoftObjectPtr<UWorld>> Maps 변수를 이용하여 맵 이름에 따르는 맵을 저장하고, 해당 맵으로 이동시킬 것이다.
1. 맵 불러오기
(1) MVVM_LoadScreen에서 게임 시작 버튼 콜백 함수
// 게임 시작 버튼 클릭
UFUNCTION(BlueprintCallable)
void PlayButtonPressed();
void UMVVM_LoadScreen::PlayButtonPressed()
{
AAuraGameModeBase* AuraGameMode = Cast<AAuraGameModeBase>(UGameplayStatics::GetGameMode(this));
AuraGameMode->TravelToMap(SelectedSlot);
}
AuraGameMode의 TravelToMap 함수에게 선택된 슬롯의 포인터를 넘겨줄 것이다.
(2) AuraGameMode의 TravlelToMap 함수
void TravelToMap(UMVVM_LoadSlot* Slot);
void AAuraGameModeBase::TravelToMap(UMVVM_LoadSlot* Slot)
{
const FString SlotName = Slot->LoadSlotName;
const int32 SlotIndex = Slot->SlotIndex;
UGameplayStatics::OpenLevelBySoftObjectPtr(Slot, Maps.FindChecked(Slot->GetMapName()));
}
GameplayStatics 클래스의 OpenLevelBySoftObjectPtr 함수에 슬롯의 이름에 해당하는 맵의 소프트 포인터를 전달한다.
해당 함수에서 소프트 포인터를 참조하여 레벨을 시작한다.
(3) WBP_LoadScreen의 Blueprint Initialize Widget 함수에서 게임 시작 버튼 바인딩

'UE 5 스터디 > Gameplay Ability System(GAS)' 카테고리의 다른 글
29-2. 저장 - (3) 커스텀 게임 인스턴스 클래스 (0) | 2025.04.07 |
---|---|
29-1. 플레이어 스타트 선택 (0) | 2025.04.07 |
28-13. 로드 메뉴 UI - (9) 필드 노티파이 - 맵 이름 가져오기 (0) | 2025.04.07 |
28-12. 로드 메뉴 UI - (8) 메뉴 앵커 - 저장 데이터 삭제 (0) | 2025.04.04 |
28-11. 로드 메뉴 UI - (7) MVVM - 슬롯 선택 버튼 (0) | 2025.04.04 |