Make Unreal REAL.
article thumbnail
이득우의 언리얼 C++ 게임 개발의 정석

 

아이템 상자 클래스에 무기의 종류를 저장할 변수를 만든다.

  • UClass* 형식으로 선언할 수도 있지만 IntelliSense에서 불필요한 것들까지 보이게 된다.
  • TSubclassOf<class Class> 키워드를 사용하면 Class와 상속 받은 클래스의 정보들만 볼 수 있다.

 

 

ABWeapon.h 헤더를 포함하고 생성자에서 기본 클래스를 지정한다.

 

 

컴파일하면 Details 패널에 변수가 표시된다.

 

 

기존에 캐릭터의 BeginPlay에서 기본으로 무기를 쥐어주던 부분을 주석 처리한다.

 

 

무기를 장착시키는데 필요한 함수와 현재 무기 액터를 저장하는 변수를 생성한다.

 

 

무기 액터를 전달 받아 메시의 hand_rSocket 소켓에 붙인다.

 

AActor->SetOwner()는 네트워크 리플리게이션을 할 때 필요한 처리이다.

 

 

박스 컴포넌트의 OnComponentBeginOverlap 델리게이트에 등록된 OnCharacterOverlap 함수의 내용을 구현한다.

 

캐릭터가 무기를 이미 장착하고 있는지 확인한다.

 

장착하고 있지 않으면 현재 아이템 상자의 무기 타입에 해당하는 무기 액터를 생성해 캐릭터에 장착시킨다.

 

 

상자를 통해 무기를 획득했고 이미 가지고 있다면 획득 불가 로그를 출력한다.

 

profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그