Bootstrap

UE c++ 通过函数名称调用对象函数 (简洁版)

在网上找了很久,很多结构都是比较复杂的。我自己综合简洁了一下,用了几天没啥bug,发出来做个记录。

static void CallFunctionByName(UObject* Target, FName VarName);

void CallFunctionByName(UObject* Target, FName VarName)

{

if (Target)

{

UFunction* func = Target->FindFunction(FName(VarName));

if (func)

{

Target->ProcessEvent(func, NULL);

}

else

{

UE_LOG(LogTemp, Error, TEXT("Not Found Function, Target Name is : %s, Function is : %s !"), *Target->GetName(), *VarName.ToString());

}

}

}

;