【unity实用技能】记一次失败的蓝图接口开发失败经验
本来想写一个批量控制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了。。。
就是要不是这样
要不是这样
所以,失败了。。。