template UCLASS 관련 질문 드립니다.
1202
4 câu hỏi đã được viết
안녕하세요. 질문에 앞서, 항상 좋은 강의를 제공해주셔서 감사합니다.
알려주신 강의를 바탕으로 추가적인 공부를 진행하던 중, 해결하지 못하는 점이 생겨서
이렇게 글을 남깁니다.
UCLASS를 만드는데 template을 사용할 경우 문제가 발생합니다.
포럼 등에 찾아보니 여러 이유로 template 기능이 지원되지 않는 것 같은데
이런 경우 template을 사용하지 못하게 되면 여러 자료형에 대해 모두 코드를 짜주어야 하나요?
현재 제가 하고자 하는 건 퀘스트와 관련된 내용인데,
예를 들면 몬스터 사냥 퀘스트의 경우, 해당 몬스터를 죽였을 때 해당 퀘스트의 잡은 몹 수를 늘려야하는데, 해당하는 타입의 몬스터를 사냥 했는지를 판단하는 코드를 template으로 짜려고 했습니다.
간단히 아래 코드와 같습니다. (UKillEnemyQuest나 UQuestInterface는 제가 작성한 클래스입니다)
template<typename EnemyType>
UCLASS()
class PORTFOLIO1_API UKillEnemyQuest: public UQuestInterface
{
GENERATED_BODY()
...
}==============================================
template<typename EnemyType>
void UKillEnemyQuest<EnemyType>::ProcessQuest(UObject* KilledObject)
{
auto KilledEnemy = Cast<EnemyType>(KilledObject);
if (IsValid(KilledEnemy))
{
// 몬스터를 죽였을 때 퀘스트 내부에서 수정되는 로직
}
}위와 같이 구성하여
늑대를 잡는 퀘스트의 경우 UKillEnemyQuest<Wolf>,
고블린을 잡는 퀘스트의 경우 UKillEnemyQuest<Goblin>
이런 식으로 짜고 싶었습니다..
이런 경우 각 몬스터에 해당하는 Quest 클래스들을 일일히 다 작성해주어야 할까요..?
다른 방법이 있는지 궁금하여 질문 남깁니다ㅠㅠ
Câu trả lời 1
1
https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/TSubclassOf/
TSubclassOf를 이용해보세요!
Wolf::StaticClass() 이런 식으로 넘기면 됩니다.
강사님 질문 있습니다.
1
429
0
언리얼엔진 크래시날때
1
1563
1
캐릭터를 추가적으로 스폰하고 싶습니다
0
535
1
언리얼에서 WSA 함수 사용이 가능한가요?
0
541
1
캐릭터 Blueprint 받아오기 실패
0
565
2
UE5 generated.h 파일 생성이 안돼요
0
1419
1
애니메이션 블루프린트 오류
0
840
1
생성자 ConstructorHelpers질문 있습니다.
0
513
1
24분쯤에 UE시리즈
0
365
1
Weak_ptr질문
0
247
0
13분 질문
0
326
1
UE_LOG에 빨간색 밑줄이 쳐집니다.
0
361
0
Mesh와 MESH
0
347
1
생포인터 사용
0
294
1
TWeakObjectPtr
0
521
1
LOG출력 컴파일은 되는데 플레이시 Error가 발생하며 튕깁니다.
0
489
1
postinitializecomponents
0
244
1
[스탯매니저] 공격하는 캐릭터 정보인지, 공격당하는 캐릭터 정보인지 헷갈려요.
0
326
1
ue4 -> ue5 코드 변경
1
1945
4
애니메이션 기초 강의 질문입니다.
0
250
1
OnAttacked(float DamageAmount) 함수 질문
0
233
1
소켓 실습 일부 오버랩으로 검이 주워지지 않습니다
0
381
2
인텔리젼스? 비츄얼어시스트? 질문입니다
1
271
2
RootComponent에 무언가 할당을 해줘야 하지 않나요?
0
389
1

