From 102a514afaffc168f10ee00a9b7a8a99390c012e Mon Sep 17 00:00:00 2001 From: Norman Lansing Date: Mon, 30 Mar 2026 21:39:09 -0400 Subject: [PATCH] Lesson 66 - Displaying Fleet Data --- .../API/ListFleets/WBP_ListFleetsBox.uasset | Bin 36784 -> 41971 bytes .../APITest/UI/WBP_APITestOverlay.uasset | Bin 29762 -> 33071 bytes .../Private/UI/APITest/APITestOverlay.cpp | 23 +++++++++++++++--- .../Public/UI/APITest/APITestOverlay.h | 5 ++++ 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Content/DedicatedServers/API/ListFleets/WBP_ListFleetsBox.uasset b/Content/DedicatedServers/API/ListFleets/WBP_ListFleetsBox.uasset index 74b040da5aea9af19203a8aec82e9ad2a104b4e2..44c6596d311a54b67ec04b8102998cc31f0c5362 100644 GIT binary patch literal 41971 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 delta 7013 zcmdT|2~<=^7X2StwY#AknthW^8W94bQ3P2S{4!6RL0oo#0_+iRHCCX zBNAfbnK>Hi%rR;Pm&6z{IdO@}oJ<@eM`MUV1EUd*s8g?g6@KV$ok=oF-Z}rjs(0Ue zRrOwN|LnTWY9fdlr7ocpLFVJ$^2-I%tV(77*#G{1at?1V9b$(LpDy>4Bw4|)E zs-n7}iW~7sK$;a6R%kV)Tz1FaFoTEWAaAd$(3CGq)9AF7oV$O^STtL<(-3a|Igi}r zMd)|(1$-5{C->s#qXWDnUrpXsC_xd5Qq>9=Vc3AZTg%5srDLnP_DQt;( zW>Gth^EL?auoe z{^oehf=@*+JFEC5hLg_QEqI1_dXMD!I5gSEc>ve@NO(IKhR6ewdUgv6k|h`c>c9{3 z^~^&JUW@rGw8=Nr>(>O}xRsP&$4OsJ%W4!6;HZ3#)_O3qY5?iOi`1AzzQKL_?I5I{)_}p{ z0un|lMpg)b38Yqx@bwTQ-q@aHmLOOQ=hB20Oc)@hwc4Z>Oim!8726WYF3rZHlUW{xOBPlF~Ut@%o#lG)gIW^$qxByvC#VZXae+~tXWZ``+ z2w4VshGkHZ*bH_)Q)Y^6X2xfr1A&h2uz+Fi00;jP*at8b35r*O0)qNP-C^pWC04J_ zC4PshgPJMttLHpceW>@%c?0TqMV+z7-q+y=2s(3!lsIntJfhwj9Dv?XIXG{?Vm7>3 zIv3LOiOMZi6oFZTmBR!VjRgcg9}<9ELj(_iKqHN?V`8$sV8zYG52#Oo zmN7Mz67}TK0fW>bPo~s677wW7b8ir>p|y#a=g~61gs8)8$fcsILpqg6<*^=p~K%Ie) zOyj7^O_3R7k*xwdyt(I7owQ2S819UE{4LQJ#S)Ym77!#hgRn3&7!xzwUr9poURaDC z#sHax6v*(yh^5jF3x?x|O%C871J2~23w4@x;txX0_7n_}1L-R)13hSywuKJzG8{BZ zOALh=_J(h?(bgM^%C>p*ZS`2XDf7eBknW`osBN@*PX6a-^(!875f7a7x+(X+?mu-W zd(}nj_V)`HD_^_+ic8wS^$E-XBoU3UH4mxU)z)zp4kd@eFQ zCnde1!7x0y<&6Y%Jjw^1iIVDb-um)x$sPTiS97ZRl5alUwr}aCowc83wObec>T=3j zrOz&x{_khq>&pJ??Z)+EA9CJp1rHAEZ)cry9bbK@b>Z1L@2Y#QuJ{w`K@YjMKju#k zzk6+0-^U zU!;UbVUg>QZ*;6h$0(E^9c%wEg5zGN^AG0+9nW($yc@mH10BtAGEB;Dv~h;JpW)>o z5_O0up#n6r)-gGqRWX-98L|r*f^5Lb19B7Cz}rDRP{ak|Xog8gkYd=@|20Pm)T<6% zS`e&cd$5j5q2tL&uJK${P9@_h2Sz5(^u1RS=a>V#wOPqzJz@nT%k1NlBsM6Rr$9Qi zyC7IOU8r#4Zd4%k7?&58TA?k44$3J{Q1D`YZJwZ*%M`PzqBx{vd=LUZb091e=7H$^ zG~4^N$Os%;i$t69OvpxfI97`5z7`>^iKepC_ch>=`O&!5EmK z=s=;I+auPJHA(NikR!1T`ooLo0W&0JqnDy`jnmAD!zds6D1IkWlt zDGRj}Qi18mr?8pF|HA%yku74@xX=e`nNOh7rmV@W5=-_M>15cGE=h0X0Vhj zUNBQ{nB1&T97tNzds36?bwO%M_M{93gAv!fZ29{gr)TbXCijx<#EoZ6$u>iaSmQ@Qxqj-)b3 zvNbIOW68%w7vT&aOVKjQwP^JUkE9w}Gm3;91MG*M5eUCloT+6DTwVF4a9?s4E5Zp$ zK9p@R_W?La94aS(A%0Im0aK;GxOh;NiX%A+&L!_{fWt6@siIhAAyPl*tIRWj1j6dk zLuYLFXr15V;$J*5m#UdqMRfyTL=&izct~WQgP%L3^Oz640dY!dCGJ}^{*{n1MhTy} z<5xKhoZCdxZ1@!zCf6Gitql5W0I9&6igKJoD|ZiButton_ListFleets) ListFleetsBox->Button_ListFleets->OnClicked.AddDynamic(this, &UAPITestOverlay::ListFleetsButtonClicked); - } void UAPITestOverlay::ListFleetsButtonClicked() @@ -30,13 +34,26 @@ void UAPITestOverlay::ListFleetsButtonClicked() void UAPITestOverlay::OnListFleetsResponseReceived(const FDSListFleetsResponse& ListFleetsResponse, bool bWasSuccessful) { + if (APITestManager->OnListFleetsResponseReceived.IsAlreadyBound(this, &UAPITestOverlay::OnListFleetsResponseReceived)) + { + APITestManager->OnListFleetsResponseReceived.RemoveDynamic(this, &UAPITestOverlay::OnListFleetsResponseReceived); + } + ListFleetsBox->ScrollBox_ListFleets->ClearChildren(); + check(FleetIdWidgetClass); if (bWasSuccessful) { - + for (const FString& FleetId : ListFleetsResponse.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/APITest/APITestOverlay.h b/Source/DedicatedServers/Public/UI/APITest/APITestOverlay.h index e5eada62..46386b6c 100644 --- a/Source/DedicatedServers/Public/UI/APITest/APITestOverlay.h +++ b/Source/DedicatedServers/Public/UI/APITest/APITestOverlay.h @@ -9,6 +9,8 @@ class UListFleetsBox; class UAPITestManager; struct FDSListFleetsResponse; +class UFleetId; + /** * */ @@ -22,6 +24,9 @@ public: UPROPERTY(EditDefaultsOnly) TSubclassOf APITestManagerClass; + UPROPERTY(EditDefaultsOnly) + TSubclassOf FleetIdWidgetClass; + protected: virtual void NativeConstruct() override;