我学习了Unreal Engine的C++一个月左右,有个问题不太明白:
我想要创建一个叫做GameManager的Actor,它有一个公共变量,我可以传入我想要添加的Slate类型,再在Begin中将其添加到视口上。但是!!众所周知,UClass以及TSubclassOf都只能传入以UObject为父类的类型,那我要怎么实现呢??求各位解答!
大概的思路,不知对不对,多包涵,一起学习:
【添加slate到视口代码】
void UWDBJNaturalItem::CreateNorthOffsetWidgetToScreen(UUserWidget* InWidget)
{
if (InWidget==nullptr)
{
return;
}
FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>("LevelEditor");
TSharedPtr<SLevelViewport> ActiveLevelViewport = LevelEditorModule.GetFirstActiveLevelViewport();
ActiveLevelViewport->AddOverlayWidget(InWidget->TakeWidget());
}