UE4-蓝图函数库
概述
蓝图函数库(Blueprint Function Library)是一个静态函数的合集,提供不与特定游戏性对象绑定的效用功能(即不用绑定到对象身上,再到蓝图中进行调用)。可以非常方便的将代码中的函数暴露给所有蓝图使用,同时也提供了很好的代码复用性。
创建
创建蓝图函数库与使用 UFUNCTION() 宏对蓝图公开函数十分相似。所有蓝图类均继承自 UBlueprintFunctionLibrary,而非派生自 Actor 或 UObject。它们只应包含静态方法。以下代码是分析蓝图函数库的一个片段,展示如何设置库类。
UCLASS()
class UAnalyticsBlueprintLibrary :
public UBlueprintFunctionLibrary
{
GENERATED_UCLASS_BODY()
/** 在不指定自定义属性的情况下开始分析会话 */
UFUNCTION(BlueprintCallable, Category="Analytics")
static bool StartSession();
}
蓝图函数库为 UObject 非直接派生,因此需要标准 UCLASS() 和 GENERATED_UCLASS_BODY() 宏。
由于我们需要在蓝图中调用 StartSession 函数,因此我们需要将该函数进行反射。