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;
}
UE4 C++ 遍历世界中指定接口类型的所有对象
最新推荐文章于 2026-03-27 09:14:52 发布
此函数用于在游戏场景中查找指定名称的Marionettist实例。通过遍历所有实现了IMarionettistInterface接口的Actor来实现,并返回找到的第一个匹配项。

1万+

被折叠的 条评论
为什么被折叠?



