UE记录一下

将属性公开给编辑器

// EditAnywhere:公开给编辑器中任何可编辑属性的地方
// BlueprintReadWrite:可在蓝图中拉出 GET SET NODE
UPROPERTY(EditAnywhere, BlueprintReadWrite)

将函数公开给蓝图,蓝图只能调用

UFUNCTION(BlueprintCallable)
void CountdownHasFinished();

将函数公开给蓝图,cpp中提供默认实现,允许蓝图对其覆盖

UFUNCTION(BlueprintNativeEvent)
void CountdownHasFinished();
// _Implementation 后缀是固定格式
virtual void CountdownHasFinished_Implementation();

在 cpp 中只需实现 _Implementation 的版本

// 在cpp中定义默认行为
void ACountdown::CountdownHasFinished_Implementation()
{
    CountdownText->SetText(TEXT("GO!"));
}

在蓝图中实现函数,让 cpp 进行调用
先在 cpp 中声明函数

UFUNCTION(BlueprintImplementableEvent)
void CalledFromCpp();

在蓝图中实现该函数UE记录一下
在 cpp 中合适的地方调用

void ATank::BeginPlay()
{
	Super::BeginPlay();
	CalledFromCpp();
}
上一篇:Android Kotlin Coroutines ktx扩展


下一篇:.NET 中的依赖注入(五):注册方法