diff --git a/Content/DedicatedServers/API/ListFleets/WBP_ListFleetsBox.uasset b/Content/DedicatedServers/API/ListFleets/WBP_ListFleetsBox.uasset index 9160de57..1496ddf4 100644 Binary files a/Content/DedicatedServers/API/ListFleets/WBP_ListFleetsBox.uasset and b/Content/DedicatedServers/API/ListFleets/WBP_ListFleetsBox.uasset differ diff --git a/Content/DedicatedServers/APITest/UI/WBP_APITestOverlay.uasset b/Content/DedicatedServers/APITest/UI/WBP_APITestOverlay.uasset index b102b3e2..10ff3d09 100644 Binary files a/Content/DedicatedServers/APITest/UI/WBP_APITestOverlay.uasset and b/Content/DedicatedServers/APITest/UI/WBP_APITestOverlay.uasset differ diff --git a/Source/DedicatedServers/Private/UI/API_Test/APITestOverlay.cpp b/Source/DedicatedServers/Private/UI/API_Test/APITestOverlay.cpp index 3a416cef..d0e5b1ff 100644 --- a/Source/DedicatedServers/Private/UI/API_Test/APITestOverlay.cpp +++ b/Source/DedicatedServers/Private/UI/API_Test/APITestOverlay.cpp @@ -5,7 +5,11 @@ #include "Components/Button.h" +#include "Components/ScrollBox.h" +#include "Components/TextBlock.h" +#include "UI/API/ListFleets/FleetId.h" #include "UI/API/ListFleets/ListFleetsBox.h" +#include "UI/HTTP/HTTPRequestTypes.h" void UAPITestOverlay::NativeConstruct() @@ -31,13 +35,26 @@ void UAPITestOverlay::ListFleetsButtonClicked() void UAPITestOverlay::OnListFleetsResponseReceived(const FDS_ListFleetsResponse& ListFleetResponse, bool bWasSuccessful) { + if (APITestManager->OnListFleetsResponseReceived.IsAlreadyBound(this, &UAPITestOverlay::OnListFleetsResponseReceived)) + { + APITestManager->OnListFleetsResponseReceived.RemoveDynamic(this, &UAPITestOverlay::OnListFleetsResponseReceived); + } + check(FleetIdWidgetClass); + ListFleetsBox->ScrollBox_ListFleets->ClearChildren(); if (bWasSuccessful) { - + for (const FString& FleetId : ListFleetResponse.FleetIds) + { + UFleetId* FleetIdWidget = CreateWidget(this, FleetIdWidgetClass); + FleetIdWidget->TextBlock_FleetId->SetText(FText::FromString(FleetId)); + ListFleetsBox->ScrollBox_ListFleets->AddChild(FleetIdWidget); + } } else { - + UFleetId* FleetIdWidget = CreateWidget(this, FleetIdWidgetClass); + FleetIdWidget->TextBlock_FleetId->SetText(FText::FromString("Something went wrong!")); + ListFleetsBox->ScrollBox_ListFleets->AddChild(FleetIdWidget); } ListFleetsBox->Button_ListFleets->SetIsEnabled(true); } diff --git a/Source/DedicatedServers/Public/UI/API_Test/APITestOverlay.h b/Source/DedicatedServers/Public/UI/API_Test/APITestOverlay.h index 2227edab..a470b523 100644 --- a/Source/DedicatedServers/Public/UI/API_Test/APITestOverlay.h +++ b/Source/DedicatedServers/Public/UI/API_Test/APITestOverlay.h @@ -8,7 +8,9 @@ class UAPITestManager; class UListFleetsBox; -class FDS_ListFleetsResponse; +struct FDS_ListFleetsResponse; +class UFleetId; + /** * */ @@ -22,6 +24,9 @@ public: UPROPERTY(EditDefaultsOnly) TSubclassOf APITestManagerClass; + UPROPERTY(EditDefaultsOnly) + TSubclassOf FleetIdWidgetClass; + protected: virtual void NativeConstruct() override;