Пытаюсь получить количество акторов на уровне с помощью приведения к их parent актору и получению из него length. Код выглядит так:
Length всегда выдает 0, хотя акторов на уровне несколько. Сам parent актор на уровне также присутствует.
В чем может быть проблема?
Чет ты перемудрил.
getallactorofclass - length
и больше не нужно
ты каст на массив кидешь
он и должен по идее 0 выдать
563
> ты каст на массив кидешь
вот с этим бы поспорил, тут он берет не всех а 1 и потом пытается получить всех его детей, что как бы заведомом неправильная логика, он возвращает не классы которые от него наследуются а дочерние элементы, иначе говоря которые к нему приаттачены
drbass
> вот с этим бы поспорил, тут он берет не всех а 1 и потом пытается получить всех
> его детей
а да согласен, берет чисто последнего, я думал он массив получает
получилась логика типа getAllActorOfClass - get(0) - ну и в общем тоже 0 даст на выходе
drbass
Я затупил не увидел что он одного взял
мой косяк, он вообще детей эктора получить пытается, ты на 100% прав.
TommYMoonlight
для того, чтоб взять всех экторов, одного класса, вам нужна нода GetAllActorsOfClass. Та нода, которую вы используете, возвращает вам эктора под индексом 0, из всех экторов этого класса
GetAllActorsOfClass возвращает массив ссылок - вот с него и вытягивайте Length
А то, что вы пытаетесь сделать - это вы взяли самого старого эктора заданного класса, и проверили количество приаттаченных к нему экторов (например, вы обвешали его экторами с оружием)
Каст нужен в тех случаях, когда вы обращаетесь к общему классу, но вам нужно вытянуть функционал, который задан в дочернем классе. Т.е. переведя Cast<int>(a) на обычный язык: "мне нужно, чтоб "а" понимали как переменную инт".
Каст - это и есть "понимать как")
R1pp3R
Респект!
Правильно все описал.
563
> Респект!
спасибо :)
Спасибо всем за помощь, проблема решена. Отдельное спасибо R1pp3R и 563, решил по вашим советам с помощью использования ноды get all actors of class.