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

근면한 복어님의 프로필 이미지
근면한 복어

작성한 질문수

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

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

UEnum 포인터 값을 어떻게 찾는건지 궁금합니다.

작성

·

343

0

언리얼 리플렉션 시스템에 의해 UEnum 포인터 값을 찾을 수 있기 때문에 UEnum값의 메타 데이터 정보를 가져오기 위해 강의 예제에서는

FindObject<UEnum>(nullptr, TEXT("/Script/프로젝트 이름.ECardType"));

이렇게 절대경로를 입력하여 Object를 찾는 것으로 이해했습니다.

하지만 저는 Card 클래스를 플러그인 모듈로 따로 빼서 한번 진행해봤는데 저 경로로는 UEnum값을 찾을 수가 없던데 이런 경우에는 어떻게 해야 하는지 궁금합니다.

답변 1

0

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

프로젝트이름은 아니고 모듈이름입니다. 게임 모듈은 보통 프로젝트 이름과 동일하게 설정되는데, 플러그인의 모듈 이름으로 바꿔보시겠어요?

아 모듈 이름이었군요... 혹시나 그럴까봐 플러그인 모듈 이름을 넣어봤는데도 안되던데 경로가 아예 잘못된 걸까요?

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

음.. 생각해보니 enum은 dll export가 안될텐데요. 저도 해 본적은 없는데, 에디터 플러그인은 분리된 dll 모듈이라 가져오기는 어렵지 않을까 생각됩니다. 별도의 class로 헤더툴이 빼서 관리를 하는지는 좀 조사를 해봐야겠네요. ㅎㅎ

 

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

한번 코드를 공유해주시면 확인해보겠습니다. 되어야 할 것 같은데요.

엔진 오류였는지, 제 실수였는지 해당 코드를 지웠다가 다시 써보니 원하는대로 작동합니다. 보니 플러그인 모듈이름을 넣어주면 되는게 맞는 것 같더라구요.

코드

결과

감사합니다!

근면한 복어님의 프로필 이미지
근면한 복어

작성한 질문수

질문하기