Почему GetAllActorsOfClass возвращает пустое значение?

у меня есть PlayerControl.cpp класс, который происходит от класса Pawn

В этом классе у меня есть метод, чтобы получить все актеры в карте

TSubclassOf<AEnemy> ClassToFind;
TArray<AActor*> FoundEnemies;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), ClassToFind, FoundEnemies);

Но массив FoundEnemies всегда пуст, когда я делаю то же самое в BP, он работает.

Может кто-нибудь сказать мне, почему это не работает в C ++? Или если я делаю не так, как это сделать правильно?

1

Решение

Наконец, я нашел ответ на свой вопрос

Я должен присвоить значение переменной «ClassToFind», так что добавление строки classToFind = AEnemy::StaticClass(); исправил проблему

TSubclassOf<AEnemy> classToFind;
classToFind = AEnemy::StaticClass();
TArray<AActor*> foundEnemies;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), classToFind, foundEnemies);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]