【unity實用技能】記一次失敗的藍圖接口開發失敗經驗
阿新 • • 發佈:2018-09-10
返回值 。。 cat you 值類型 fff nts cor oci 本來想寫一個批量控制widget開關的接口,想寫一個像append一樣的可加pin的接口
首先還是找到這個接口得代碼
可以看到關鍵的點就是 CommutativeAssociativeBinaryOperator = "true"
就是這個,標記這個接口是可以加pin的。
接下來就是照著寫一下接口
// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "UObject/ObjectMacros.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "Styling/SlateTypes.h" #include "Components/Widget.h" #include "ExtraBlueprintFunctionHelper.generated.h" /** * */ UCLASS() class CLIENT_API UExtraBlueprintFunctionHelper : public UBlueprintFunctionLibrary { GENERATED_BODY() public: UFUNCTION(BlueprintCallable, meta = (DisplayName = "SetBatchVisiable", CommutativeAssociativeBinaryOperator = "true"), Category = "UExtraBlueprintFunctionHelper") static UWidget* SetBatchVisiable(UWidget* objA, UWidget* objB); };
這裏有幾個要註意的地方:
1.用了CommutativeAssociativeBinaryOperator這個標記為可拓展的話,返回值類型和傳的參數類型要一致
2.如果要帶流程線的話,就不能用BlueprintPure,要用BlueprintCallable
3.如果用了BlueprintCallable,那麽又不能加pin了。。。
就是要不是這樣
要不是這樣
所以,失敗了。。。
【unity實用技能】記一次失敗的藍圖接口開發失敗經驗