您的位置:首页 > 编程语言 > C语言/C++

UE4 C++ 遍历世界中指定接口类型的所有对象

2018-03-11 00:41 1121 查看
void UMarionettistUtilities::FindMarionettistInScene(TEnumAsByte<EMarionettist> MarionettistName, bool &Error, TScriptInterface<IMarionettistInterface> &Interface)
{
TArray<AActor*> Actors;
UGameplayStatics::GetAllActorsWithInterface(GWorld, UMarionettistInterface::StaticClass(), Actors);

for (auto a : Actors)
{
if (!a->Implements<UMarionettistInterface>())
continue;

auto ifc = Cast<IMarionettistInterface>(a);
if (!ifc) continue;
auto name = ifc->Execute_GetWorldUniqueMarionettistName(Cast<UObject>(a));

if (name == MarionettistName) {
if (IsValid(ifc->_getUObject())) {
Error = false;
Interface.SetInterface(ifc);
return;
}
}
}

Error = true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: