UE4的一大特色莫过于它的反射系统,最近在项目中有需求在C++中调用蓝图的函数或者变量,查找了一些资料,在此做下记录。
函数调用
1 2 3 4 5 6 7 8 9 10 11 12 13
|
UFunction* Function = Object->FindFunction(TEXT("FunctionName")); if (Function) { struct { FString Parm1; int32 Parm2; }; FFunctionParms Parms; Parms.Parm1 = TEXT("Hello World!"); Parms.Parm2 = 1; ProcessEvent(Function, &Parms); }
|
参数调用
1 2 3 4 5 6
|
UStructProperty* KeyProp = FindField<UStructProperty>(Object->GetClass(), TEXT("ShapedTextOptions")); FShapedTextOptions* KeyPropData = KeyProp->ContainerPtrToValuePtr<FShapedTextOptions>(Object); if (KeyPropData) { KeyPropData->bOverride_TextShapingMethod = 1; }
|
近期评论