Lesson 68 - JoinGame Callbacks

This commit is contained in:
Norman Lansing
2026-03-31 08:15:28 -04:00
parent cc35c1bd1b
commit 2d8de0369c
7 changed files with 44 additions and 0 deletions

View File

@@ -2,3 +2,9 @@
#include "UI/API/GameSessions/JoinGame.h"
#include "Components/TextBlock.h"
void UJoinGame::SetStatusMessage(const FString& Message) const
{
TextBlock_StatusMessage->SetText(FText::FromString(Message));
}

View File

@@ -2,3 +2,8 @@
#include "UI/Portal/PortalManager.h"
void UPortalManager::JoinGameSession()
{
BroadcastJoinGameSessionMessage.Broadcast(TEXT("Searching for Game Session..."));
}

View File

@@ -13,4 +13,20 @@ void USignInOverlay::NativeConstruct()
check(PortalManagerClass);
PortalManager = NewObject<UPortalManager>(PortalManagerClass);
JoinGameWidget->Button_JoinGame->OnClicked.AddDynamic(this, &USignInOverlay::OnJoinGameButtonClicked);
}
void USignInOverlay::OnJoinGameButtonClicked()
{
check (IsValid(PortalManager));
PortalManager->BroadcastJoinGameSessionMessage.AddDynamic(this, &USignInOverlay::UpdateJoinGameStatusMessage);
PortalManager->JoinGameSession();
JoinGameWidget->Button_JoinGame->SetIsEnabled(false);
}
void USignInOverlay::UpdateJoinGameStatusMessage(const FString& StatusMessage)
{
JoinGameWidget->SetStatusMessage(StatusMessage);
}