본문 바로가기

Unreal/시작해요 언리얼 2023

Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 6-38

게임 종료하기

이제 전반적인 기능을 만들었으니, 게임을 종료하는 방법도 다뤄보자.

이와 관련된 클래스는 게임모드에서 다루게 된다.

 

게임모드는 게임과 관련된 규칙을 다루게 되기 때문에 기본적인 죽음에 대한 PawnKilled 함수를 기본 게임모드에 virtual로 생성하고, 또 다른 게임모드를 만들어 해당 함수에 오버라이딩하도록 구현할 것이다.

우선 강의에서는 C++로 생성하였기 때문에 게임모드가 있다고 하였으나 놓친 부분이 있는지 내 환경에는 보이지 않아 따로 만들어주었다.

 

여기서 이제 Pawnkilled 함수를 구체적 내용은 구현하지 말고 몸체만 선언해주자.

 

이제 해당 게임모드를 기반으로 다시 오버라이딩 할 서브 게임모드를 만들어주자.

 

그리고 해당 게임모드 클래스에 PawnKilled를 호출해야 할 위치를 잡아야 하는데, 이는 기존 TakeDamage 함수에 IsDead 조건 안에 작성하게 된다.

여기서 GetAuthGameMode 함수를 통해 원하는 게임모드를 할당주고, 이를 통해 PawnKilled 함수를 호출해준다.

 

이제 서브 게임모드 클래스도 똑같이 내용을 작성해주자.

 

여기서는 오버라이딩을 할 것이고, 일단은 테스트로 로그메시지를 작성하도록 해보자.

 

그 다음으로 현재 할당된 BP 게임모드 클래스의 Parent Class를 해당 서브 게임모드로 변경해주자.

 

이제 실행해보면 AI가 죽었을 시 로그 메시지가 뜨는 것을 볼 수 있다.