U++学习笔记 UStruct、UEnum声明以及函数库简单函数实现

.h:

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "MyBlueprintFunctionLibrary.generated.h"

/**
 * 
 */
USTRUCT(BlueprintType)
struct FTest {
	GENERATED_BODY()

	UPROPERTY(EditAnywhere, Category = "Analytics")
		int32 value1;

	UPROPERTY(EditAnywhere, Category = "Analytics")
		int32 value2;
};

UENUM(BlueprintType)
enum class EMyEnum : uint8 {
	value1,
	value2
};

UCLASS()
class FLOATINGCUBE_API UMyBlueprintFunctionLibrary : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()

	UFUNCTION(BlueprintCallable, Category = "Analytics")
		static FTest DoSwap(const int32 &value1, const int32 &value2, int32& valueout1, int32& valueout2);//&为函数输出,const &为输入常量

	UFUNCTION(BlueprintCallable, Category = "Analytics")
		static bool AnotherDoSwap(int32 value1, int32 value2);
};

.cpp: 

// Fill out your copyright notice in the Description page of Project Settings.


#include "MyBlueprintFunctionLibrary.h"

FTest UMyBlueprintFunctionLibrary::DoSwap(const int32 &value1, const int32 &value2, int32& valueout1, int32& valueout2) {
	valueout1 = value2;
	valueout2 = value1;
	FTest ftest;
	ftest.value1 = valueout1;
	ftest.value2 = valueout2;
	return ftest;
}

bool UMyBlueprintFunctionLibrary::AnotherDoSwap(int32 value1, int32 value2) {
	value1 ^= value2;
	value2 ^= value1;
	value1 ^= value2;
	return true;
}

实现结果:

Do Swap中value1、2中为代码中的const int32 &value1、2,int& valueout1为Do Swap的输出右边。return为返回值结构体。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值