1.5 KiB
1.5 KiB
BlueprintImplementableEvent
-
功能描述: 指定一个函数调用点,可以在蓝图中重载实现。
-
元数据类型: bool
-
引擎模块: Blueprint
-
作用机制: 在FunctionFlags中增加FUNC_Event、FUNC_Native、FUNC_BlueprintEvent
-
常用程度: ★★★★★
指定一个函数调用点,可以在蓝图中重载实现。是一种方便的用来实现C++来调用蓝图函数的方式。
蓝图中如果没提供实现,调用的话相当于调用空函数。
BlueprintImplementableEvent也要配合BlueprintCallable使用,如果没加BlueprintCallable的话就只能在CPP里调用,在蓝图会发现找不到Call Function的节点。
测试代码:
//FunctionFlags: FUNC_Event | FUNC_Public | FUNC_BlueprintCallable | FUNC_BlueprintEvent
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
void MyFunc_ImplementableEvent();
效果展示:
右键可添加自定义实现
原理:
在C++里调用的时候,里面会FindFunctionChecked根据名字寻找。如果蓝图中有找到的话,则会调用。如果在蓝图中直接调用,则其实是会直接FindFunctionChecked查找,蓝图中有定义的话则会被直接找到。
void AMyFunction_Default::MyFunc_ImplementableEvent()
{
ProcessEvent(FindFunctionChecked(NAME_AMyFunction_Default_MyFunc_ImplementableEvent),NULL);
}