在对Function
蓝图化时,其中BlueprintImplementableEvent
元数据说明符表示:
这个方法由蓝图实现,而C++可以调用。
举个例子:
传入的参数会影响在蓝图中实现的样子,
UFUNCTION(BlueprintImplementableEvent)
FText GetTextByString(FString& InString);
- 这是一个带返回类型的函数
- 其中如果参数类型为
FString
必须是引用类型&
,这样可以避免在传值过程中产生不必要的复制。
上方在函数中的样子
不会是在蓝图的Event
,而需要在Function
中Override
重载里找。
如果想参数只是传入
那需要参数为常量类型const
。如下
UFUNCTION(BlueprintImplementableEvent)
FText GetTextByString(const FString& InString);
如果想传入参数并传多个出来
UFUNCTION(BlueprintImplementableEvent)
void SetTextByString(const FString& InString, FText& OutText1, FText& OutText2);
如果只是执行一些方法
那就只会在Event
中重载,就和普通方法一样。
总结:
其实因为引用&
的缘故,需要区分出参数是传入
还是传出
,如果没有传出
那就是一个事件Event
,如果有传出
,就会成为一个Function
。
评论