1.通过资源路径同步加载
FString WidgetPath = "/Game/SocGame/Module/UI/HUD/Widget/W_HUD_Interaction.W_HUD_Interaction_C"; //资源路径
UObject* LoadedObject = StaticLoadObject(UObject::StaticClass(), nullptr, *WidgetPath);
UClass* LoadedClass = LoadClass<UUserWidget>(nullptr, *WidgetPath);
2.通过资源路径异步加载加载(Lambda传参)
FStreamableDelegate AsyncAddWidgetDelegate; //异步加载资源的回调事件
EntryWidget entryWidget; //自定义结构体
AsyncAddWidgetDelegate = FStreamableDelegate::CreateLambda([this, entryWidget]() {
//需要LoadObject或者LoadClass的时候可以用下面的值
UObject* LoadObject = WidgetHandle->GetLoadedAsset();
UClass* LoadClass = Cast<UClass>(LoadObject);
//此处打印了传进来entryWidget结构体中的SlotID值
UE_LOG(LogTemp, Warning, TEXT("WidgetPath::::::%d"), entryWidget.SlotID);