인프런 커뮤니티 질문&답변

junhwan5245님의 프로필 이미지
junhwan5245

작성한 질문수

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

8강 언리얼 C++ 설계 II - 컴포지션

8강 Enum class의 MetaData 가져올 때, 질문 있습니다.

작성

·

262

0

안녕하세요. 강의 정말 잘 듣고 있습니다.
8강을 수강하다 궁금한 점이 생겨 질문드립니다.

 

  1. UEnum을 가져올 때, 아래와 같이 모든 패키지에서 검색하여 가져오는 방법은 좋지 않은건지 궁금합니다.

const UEnum* CardEnumType = FindObject<UEnum>(ANY_PACKAGE, TEXT("ECardType"), true);

 

  1. DisplayName을 가져올때도 아래처럼 GetMetaData() 함수를 사용하는 것은, 일반적이지 않은 방법인지 궁금합니다.

FString CardMetaData = CardEnumType->GetMetaData(TEXT("DisplayName"), (int32)CardType - 1);

 

읽어주셔서 감사합니다.

 

답변 1

1

이득우님의 프로필 이미지
이득우
지식공유자

앞으로 강의를 진행하면서 이런 궁금증이 계속될텐데요, 가장 좋은 방법은 Ctrl+Shift+F키를 사용해 소스코드에서 검색해보는겁니다. 소스코드에서 사용하고 Deprecated API가 아니라면 왠만하면 사용해도 괜찮다고 보면 됩니다.

오브젝트 검색시 ANY_PACKAGE를 인자로 넣는 방법은 5.1버전부터 deprecated 되어있다고 나와있기 때문에 가급적 사용을 자제하는 것이 좋습니다.

UE_DEPRECATED(5.1, "Support for searching for objects in ANY_PACKAGE has been deprecated. Please provide the actual Outer of an object you want to find.")

GetMetaData는 언리얼 객체에 심은 메타데이터 정보를 가져오는 함수이기 때문에 자주 사용됩니다.

junhwan5245님의 프로필 이미지
junhwan5245
질문자

상세한 답변 감사합니다!

junhwan5245님의 프로필 이미지
junhwan5245

작성한 질문수

질문하기