Lesson 66 - Displaying Fleet Data

This commit is contained in:
Norman Lansing
2026-03-17 07:16:52 -04:00
parent e95360489b
commit d9eb52c047
4 changed files with 25 additions and 3 deletions

View File

@@ -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<UFleetId>(this, FleetIdWidgetClass);
FleetIdWidget->TextBlock_FleetId->SetText(FText::FromString(FleetId));
ListFleetsBox->ScrollBox_ListFleets->AddChild(FleetIdWidget);
}
}
else
{
UFleetId* FleetIdWidget = CreateWidget<UFleetId>(this, FleetIdWidgetClass);
FleetIdWidget->TextBlock_FleetId->SetText(FText::FromString("Something went wrong!"));
ListFleetsBox->ScrollBox_ListFleets->AddChild(FleetIdWidget);
}
ListFleetsBox->Button_ListFleets->SetIsEnabled(true);
}

View File

@@ -8,7 +8,9 @@
class UAPITestManager;
class UListFleetsBox;
class FDS_ListFleetsResponse;
struct FDS_ListFleetsResponse;
class UFleetId;
/**
*
*/
@@ -22,6 +24,9 @@ public:
UPROPERTY(EditDefaultsOnly)
TSubclassOf<UAPITestManager> APITestManagerClass;
UPROPERTY(EditDefaultsOnly)
TSubclassOf<UFleetId> FleetIdWidgetClass;
protected:
virtual void NativeConstruct() override;