[96. Pause Menu #5]
버튼에 이벤트를 바인딩 시킨다.
이런 구조가 될 것이다.
[97. Pause Menu #6]
저장시 현재 레벨 이름도 같이 저장해서 로드할 때 해당 레벨로 변환시켜주면 일반적으로 알고있는 세이브/로드 같은 기능을 할 것이다.
GetWorld()->GetMapName(); // 현재 맵(레벨)이름을 가져옴. 레벨 스트리밍 접두사가 붙는다
GetWorld()->StreamingLevelPrefix; // 레벨 스트리밍 접두사를 가져온다
현재 맵(레벨) 이름을 받아오는것은 위처럼 하면 되지만 레벨 스트리밍 접두어가 붙기때문에 접두어를 제거하고 저장해야 한다.
레벨이 바뀌면 BeginPlay가 호출되므로 LoadGame을 이곳에서 해주면 된다.
[98. Finishing Up]
내용 없음.
[99. Removing All Unused Assets]
프로젝트를 완성시키고 배포시키기 전에 사용하지 않은 애셋들의 정리 등을 통해 프로젝트의 사이즈를 줄일 필요가 있다.
- 별개의 폴더를 만들고 완성한 프로젝트와 같은 이름의 빈 프로젝트를 해당 폴더에 만든다.
- Config 폴더를 덮어쓰기한다.
- Intermediate 폴더를 삭제한다.
- 소스코드를 붙여넣는다(C#까지)
- generate visual studio project file을 수행한다.
- 완성한 프로젝트를 열고 레벨을 migrate한다.
C++ 코드로 애셋을 로드하는것은 레벨을 migrate 할 때 잡아내지 못할 것이라 생각된다.
위와 같이 프로젝트의 크기를 줄일 때 해당 부분을 고려해야 할 것이다.
[100. Packaging the Game]
[정리]
- 프로젝트를 완성하면 불필요한 리소스를 제거해서 크기를 줄여야 한다.
'언리얼 엔진 > UE4 C++' 카테고리의 다른 글
[UE C++] Level Changing and Saving the Game #1 (0) | 2022.09.15 |
---|---|
[UE C++] Combat #10 (0) | 2022.09.15 |
[UE C++] Combat #9 (0) | 2022.09.14 |
[UE C++] Combat #8 (0) | 2022.09.14 |
[UE C++] Combat #7 (0) | 2022.09.13 |