From 898fba8153237046e59630b042003f4b4826c352 Mon Sep 17 00:00:00 2001 From: Norman Lansing Date: Sun, 15 Mar 2026 09:19:39 -0400 Subject: [PATCH] Lession 56 - API Test HUD --- Config/DefaultEngine.ini | 4 +-- .../Blueprints/Game/BP_MenuGameMode.uasset | Bin 20280 -> 21085 bytes .../APITest/UI/BP_APITestHUD.uasset | Bin 0 -> 24593 bytes .../APITest/UI/WBP_APITestOverlay.uasset | Bin 0 -> 27509 bytes .../DedicatedServers.Build.cs | 3 +- .../Private/UI/API_Test/APITestOverlay.cpp | 4 +++ .../Private/UI/API_Test/API_TestHUD.cpp | 17 ++++++++++ .../Public/UI/API_Test/APITestOverlay.h | 16 ++++++++++ .../Public/UI/API_Test/API_TestHUD.h | 29 ++++++++++++++++++ 9 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 Content/DedicatedServers/APITest/UI/BP_APITestHUD.uasset create mode 100644 Content/DedicatedServers/APITest/UI/WBP_APITestOverlay.uasset create mode 100644 Source/DedicatedServers/Private/UI/API_Test/APITestOverlay.cpp create mode 100644 Source/DedicatedServers/Private/UI/API_Test/API_TestHUD.cpp create mode 100644 Source/DedicatedServers/Public/UI/API_Test/APITestOverlay.h create mode 100644 Source/DedicatedServers/Public/UI/API_Test/API_TestHUD.h diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini index e9a9348e..43cd1136 100644 --- a/Config/DefaultEngine.ini +++ b/Config/DefaultEngine.ini @@ -2,8 +2,8 @@ CommonUI.Debug.CheckGameViewportClientValid=0 [/Script/EngineSettings.GameMapsSettings] -GameDefaultMap=/Game/ThirdPerson/Maps/ThirdPersonMap.ThirdPersonMap -EditorStartupMap=/Game/ThirdPerson/Maps/ThirdPersonMap.ThirdPersonMap +GameDefaultMap=/Game/Maps/StartupMap.StartupMap +EditorStartupMap=/Game/Maps/StartupMap.StartupMap GlobalDefaultGameMode=/Game/Blueprints/Game/BP_ShooterGameModeBase.BP_ShooterGameModeBase_C ServerDefaultMap=/Game/ThirdPerson/Maps/ThirdPersonMap.ThirdPersonMap diff --git a/Content/Blueprints/Game/BP_MenuGameMode.uasset b/Content/Blueprints/Game/BP_MenuGameMode.uasset index 3e5625f07e497e350dc9a8e6b2f84d486490bc13..0d3830d3d9522c4342594863fa8193e2f644e21e 100644 GIT binary patch delta 5079 zcmc&&Yiv|i5I%QlYZqGDvX9aSzMP`|%Wy+b9>U7DGh>03g`QXL^zfFnIPxWZCcs-#Z;bk_aCv3nm2 z{OajD0PsC+v$>GtHJe`|+7 z92|*QJBEA_#WfsONR@B@fvJPKaoy@{(7Tn9u;K?D19U6?$Z&Xrn<&$VwoOeZ9g?#2 z0BY!RyM}zDqhw#;?b4}<6q~xXV_SVwZ(Un&vl1Hf`tDYmhx?UY7uoZ%+e2SZeaBXb z{!w9dEB!%q(%+$k$CdD?)!DYSQyGm|yS7@v0H1*y@>$tO577toy(=?eahwV)PgfTg z&~NmY>5ofSQ+ZjXJ_|rdxpXo$&(Mnw8R23iGp*6*R;XhlgiB#wKdyu#-mq^Zz?Cs= zIV{PME4FQD!QFVqLjFi_I8+~sgePY0XHhA`5ETY<;tYzV%*E`I#emm~V4C;<7j0Mk zN^o4MQwD>fwjtj{46~Mxus%4bGw9zF)AIq#K@Fb>!#GWa2kQ&(26Eg6QZhV|@R$OH zt|}Yp=BDx$P`Qj^>PmW`X)=n_Ypzb2OK}4z(6kvIBs?E$Nr}u7Cf^fKLh=agQ{II; z9+d}%!*V1L9F=`on-y}2m8@p#;A#_+MrIRZqi-~>i;8=J=~TMZ-KjG23*dZwyb!K`Zd^3ZpfWcwhWi;D4=e(A5pcIHh>H?}z}puD zsyLCQ`F4!<`W9)=5B?b~WKcA)g>b<|+S|r)QLRBy3x2M|o$Q>);2_r_!xs{g)}E*t zEpCSj6Szh;y%tc&7BVP;cF>*6^UR|E;w7^3&w(>en&~Z|uPnDzlycE!*x58ZJQyOb zGv2{dTzJJz_huB(RT-PjcX1JR?h-yeQ4cTcBDyBSQiR_iT*~grE1?QWm<~<)L6rIg|`Qjf!4Zt{9Z4Ee>(>pbAs>zTo3eYBZGHkS&IJ9 zSjP^7S58=;KhpFSaua4;mh&CSy@j1U`J|yZU_EV>G86gvkjfy~o%t71ADCfpjz7Z_CZM zIh{_I*IT!KFi>B;C)~2B)3Z0cV_)fTOI164&6Xoo(+_Pg(~;^FT}=%gueQ;A^GtdT zw5=p?k3T1-inDj5FI&Q=MAA(?V>y`=Cm2}wu#V;w-)bn}s5&@~F)~6%iJd-KZk!G&knCZ z(D&@w9lX?;45MU`;;ey*)EeYNH8q4Bd`Gm4`MqIG|CKkrKF*W(-|efM@3+W5(NWSk?ShX7I(~dQ>uMus-Kx~@s zFu4jPTc)mL%lJ^d1K5;h1^X+K@P}ho^k85nF6gbO0^-P<*n~m<0;u>7)>dXMb=2lp z;O8n*Lc+wK57$aqGCf+GIlDz%{}2BtQX`$yJ%gyfVs{P)i;XCSrA|G=wk@U`b$!zj`pk>*;=vW!?;TNvo*eyG8HfTP}uE!u;>exQYJY z^_WVzJmCy_uI~)QSC}aA`D^Km2HffQ4fc8WP#$If62eFmDp&a7+aLu0FN2hDGqHuP zRCS3;?D+7XCq`|YBV!jZm0oPNn7X)Fo2l5X*l@b~ldH+EHaQ=Uv5SgtQ+(mD{tJ9j;5+~#)zWvHjgZ^lTWbFXp`6`5 delta 4170 zcmc&%drXu^5Z{jiI(}G)2{a7yWQ;jz7GIi)}|VDXkX`U?Qpkw z{NSGCRg#Zl$JnW_{x9Tx#7 z^vRM9&g%`bk_nVv=gBXUwFE{apP^1Jl-K&SY$0;0K%$2wV6Dr9llmk{1IJ{8ywRs; zRMZ~|S-XN8jmZUaoeCZl@+UsnZAi~}h({J$tT@IfZKw{(TcgQriO)QWp85Fo*zFC{{0Qi@an%}J)kyR25Lt)gP(!nSt% z(vB`?QA7ETuBMmFozC_)gzVLx=a#ltG;FqX?5Nqby1lYv?KaqJM7lxssc>u5|rL6vVN;1fz0n&`dlvPw7MA2&N8aQY( zKu1kf$~8I)Wlt&@A=UU8U#toaxeTBy3ri$rnLyMQtI#63S^$1#7gDBQG>>lcrwn0-A@=rnqZ#`-SD;H+V zVZ@%$j86zo>iko-MF6EgZ(`xdpTr+!Em1(QvVHm~g0;I`CkNlc`kA)iuPzcEV|jCh zE^X5CbEnv8A+*#Oz~Tz)EfA1GQcU2yt9 z%n>qOBGr8ZJq#7%?$gAGZhl#sgn%vLC6t z_4e%(XZI8XJ`6x#l_fn5gSCm8Br&rXKl2G;6bma1I`W~jIv1{^m4jQ&Q&}1DS>dzD z)BhVGU#YAmc+ik96$Tc;iSZj9MPW8$zGzRn5Xy%C;TB*^tq!BsQ(GJ~>MQ+G*EvI> z&M|k|$mfF2nI$FT-6Vj+nXM_s6BA|NEzVxN1)(8NY5GnWf`JqceDrau6`UBa+6aiRpR2DIYIP#`K6&l+y52m2 z2DCrr3pQz^Het;-hBBR0-Bo#KBc&F96j`F_j5E0lvNmzs$?o_}0*fJK)rvm>1!iME diff --git a/Content/DedicatedServers/APITest/UI/BP_APITestHUD.uasset b/Content/DedicatedServers/APITest/UI/BP_APITestHUD.uasset new file mode 100644 index 0000000000000000000000000000000000000000..75fcc3aceeae76edf93746cfc98c38bbac947223 GIT binary patch literal 24593 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 literal 0 HcmV?d00001 diff --git a/Content/DedicatedServers/APITest/UI/WBP_APITestOverlay.uasset b/Content/DedicatedServers/APITest/UI/WBP_APITestOverlay.uasset new file mode 100644 index 0000000000000000000000000000000000000000..ed8878cfb33f174d632cf65fb5e4aa3e888cb964 GIT binary patch literal 27509 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 M+6(=p7X$zQ0jl+1)c^nh literal 0 HcmV?d00001 diff --git a/Source/DedicatedServers/DedicatedServers.Build.cs b/Source/DedicatedServers/DedicatedServers.Build.cs index f0aa3850..1ce4533f 100644 --- a/Source/DedicatedServers/DedicatedServers.Build.cs +++ b/Source/DedicatedServers/DedicatedServers.Build.cs @@ -21,7 +21,8 @@ public class DedicatedServers : ModuleRules { "Slate", "SlateCore", - "OpenSSL" + "OpenSSL", + "UMG" }); // Adds in the plugin for GameLiftServerSDK if it is the server build. diff --git a/Source/DedicatedServers/Private/UI/API_Test/APITestOverlay.cpp b/Source/DedicatedServers/Private/UI/API_Test/APITestOverlay.cpp new file mode 100644 index 00000000..594c4614 --- /dev/null +++ b/Source/DedicatedServers/Private/UI/API_Test/APITestOverlay.cpp @@ -0,0 +1,4 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "UI/API_Test/APITestOverlay.h" diff --git a/Source/DedicatedServers/Private/UI/API_Test/API_TestHUD.cpp b/Source/DedicatedServers/Private/UI/API_Test/API_TestHUD.cpp new file mode 100644 index 00000000..5260e37d --- /dev/null +++ b/Source/DedicatedServers/Private/UI/API_Test/API_TestHUD.cpp @@ -0,0 +1,17 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "UI/API_Test/API_TestHUD.h" +#include "UI/API_Test/APITestOverlay.h" + +void AAPI_TestHUD::BeginPlay() +{ + Super::BeginPlay(); + + APlayerController* PlayerController = GetOwningPlayerController(); + if (IsValid(PlayerController) && APITestOverlayClass) + { + APITestOverlay = CreateWidget(PlayerController, APITestOverlayClass); + APITestOverlay->AddToViewport(); + } +} diff --git a/Source/DedicatedServers/Public/UI/API_Test/APITestOverlay.h b/Source/DedicatedServers/Public/UI/API_Test/APITestOverlay.h new file mode 100644 index 00000000..f47f0b42 --- /dev/null +++ b/Source/DedicatedServers/Public/UI/API_Test/APITestOverlay.h @@ -0,0 +1,16 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "APITestOverlay.generated.h" + +/** + * + */ +UCLASS() +class DEDICATEDSERVERS_API UAPITestOverlay : public UUserWidget +{ + GENERATED_BODY() +}; diff --git a/Source/DedicatedServers/Public/UI/API_Test/API_TestHUD.h b/Source/DedicatedServers/Public/UI/API_Test/API_TestHUD.h new file mode 100644 index 00000000..312ac61f --- /dev/null +++ b/Source/DedicatedServers/Public/UI/API_Test/API_TestHUD.h @@ -0,0 +1,29 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/HUD.h" +#include "API_TestHUD.generated.h" + +class UAPITestOverlay; +/** + * + */ +UCLASS() +class DEDICATEDSERVERS_API AAPI_TestHUD : public AHUD +{ + GENERATED_BODY() + +public: + UPROPERTY(EditDefaultsOnly) + TSubclassOf APITestOverlayClass; + +protected: + virtual void BeginPlay() override; + +private: + UPROPERTY() + TObjectPtr APITestOverlay; + +};