unity实用技能记一次失败的蓝图接口开发失败经验

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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了。。。
就是要不是这样
技术分享图片
要不是这样

技术分享图片

所以,失败了。。。

以上是关于unity实用技能记一次失败的蓝图接口开发失败经验的主要内容,如果未能解决你的问题,请参考以下文章

UE4实用技能写一个异步回调的蓝图接口

记一次Unity动画入门之二专家技能评定

小松教你手游开发unity实用技能unity ios快捷打包

记一次启动 SpringBoot 失败的问题

UE4实用技能UE4蓝图开发中的一些小细节

云原生(18):记一次上云原生失败的案例