函数UFUNCTION常用说明符
蓝图调C++函数:BlueprintCallable,BlueprintPure
C++调蓝图函数:BlueprintImplementableEvent,BlueprintNativeEvent
BlueprintCallable,BlueprintPure
实现:C++
调用:蓝图
.h
// 普通函数
UFUNCTION(BlueprintCallable)
void TestFuncionA(int InValue1, float InValue2, int& OutValue1, float& OutValue2);
// 纯函数
UFUNCTION(BlueprintPure)
void TestFuncionB(int InValue1, float InValue2, int& OutValue1, float& OutValue2);
.cpp
void ATestActor::TestFuncionA(int InValue1, float InValue2, int& OutValue1, float& OutValue2)
{
}
void ATestActor::TestFuncionB(int InValue1, float InValue2, int& OutValue1, float& OutValue2)
{
}
BlueprintImplementableEvent
实现:C++
调用:蓝图
.h
//无返回值
UFUNCTION(BlueprintImplementableEvent)
void TestFuncionC1(int InValue1,float InValue2);
//有返回值
UFUNCTION(BlueprintImplementableEvent)
void TestFuncionC2(int InValue1,float InValue2, int& OutValue1, float& OutValue2);
BlueprintNativeEvent
实现:蓝图C++都可,优先调用蓝图override重写函数,没有重写则调用默认C++函数
调用:蓝图
.h
//无返回值
UFUNCTION(BlueprintNativeEvent)
void TestFuncionD1(int InValue1, float InValue2);
void TestFuncionD1_Implementation(int InValue1, float InValue2);
//有返回值
UFUNCTION(BlueprintNativeEvent)
void TestFuncionD2(int InValue1, float InValue2, int& OutValue1, float& OutValue2);
void TestFuncionD2_Implementation(int InValue1, float InValue2, int& OutValue1, float& OutValue2);
.cpp
void ATestActor::TestFuncionD1_Implementation(int InValue1, float InValue2)
{
}
void ATestActor::TestFuncionD2_Implementation(int InValue1, float InValue2, int& OutValue1, float& OutValue2)
{
}
PS:若想蓝图C++函数都调用