• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

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

24.03.12 06:29 작성 조회수 109

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는 언리얼 객체에 심은 메타데이터 정보를 가져오는 함수이기 때문에 자주 사용됩니다.

상세한 답변 감사합니다!