UE4 C++ 세계에서 지정된 인터페이스 유형의 모든 객체 스트리밍

1470 단어 UE4
void UMarionettistUtilities::FindMarionettistInScene(TEnumAsByte MarionettistName, bool &Error, TScriptInterface &Interface)
{
    TArray Actors;
    UGameplayStatics::GetAllActorsWithInterface(GWorld, UMarionettistInterface::StaticClass(), Actors);

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

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

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

    Error = true;
}

좋은 웹페이지 즐겨찾기