1.加载UserWidget
void AUserWidgetContainer::CreateUserWidgetInstance(EUserWidget name, const FString path)
{
UClass* widgetClass = LoadClass<UUserWidget>(nullptr, path.GetCharArray().GetData());
UUserWidget* userWidget = CreateWidget<UUserWidget>(GetWorld(), widgetClass);
userWidgetMap.Emplace(name, userWidget);
}
2.创建Button
void AUserWidgetContainer::ConstructButtonWidget(EUserWidget userWidget, FString widgetName, FVector2D location, FVector2D size, float angle)
{
UCanvasPanel* canvasPanel = (UCanvasPanel*)userWidgetMap[userWidget]->GetWidgetFromName(TEXT("WidgetName"));
UButton* widget = userWidgetMap[userWidget]->WidgetTree->ConstructWidget<UButton>(UButton::StaticClass(), FName(*widgetName));
canvasPanel->AddChild(widget);
UStructWidget* tempStructure = NewObject<UStructWidget>(GetTransientPackage(), UStructWidget::Stat