у меня есть PlayerControl.cpp
класс, который происходит от класса Pawn
В этом классе у меня есть метод, чтобы получить все актеры в карте
TSubclassOf<AEnemy> ClassToFind;
TArray<AActor*> FoundEnemies;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), ClassToFind, FoundEnemies);
Но массив FoundEnemies всегда пуст, когда я делаю то же самое в BP, он работает.
Может кто-нибудь сказать мне, почему это не работает в C ++? Или если я делаю не так, как это сделать правильно?
Наконец, я нашел ответ на свой вопрос
Я должен присвоить значение переменной «ClassToFind», так что добавление строки classToFind = AEnemy::StaticClass();
исправил проблему
TSubclassOf<AEnemy> classToFind;
classToFind = AEnemy::StaticClass();
TArray<AActor*> foundEnemies;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), classToFind, foundEnemies);
Других решений пока нет …