Files
DedicatedServerCourse/Source/DedicatedServers/Private/UI/Portal/Signin/SignInOverlay.cpp
2026-04-03 20:34:49 -04:00

44 lines
1.3 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#include "UI/Portal/Signin/SignInOverlay.h"
#include "Components/Button.h"
#include "UI/API/GameSessions/JoinGame.h"
#include "UI/Portal/PortalManager.h"
void USignInOverlay::NativeConstruct()
{
Super::NativeConstruct();
check(PortalManagerClass);
check(IsValid(JoinGameWidget));
check(IsValid(JoinGameWidget->Button_JoinGame));
PortalManager = NewObject<UPortalManager>(this, PortalManagerClass);
JoinGameWidget->Button_JoinGame->OnClicked.AddDynamic(this, &USignInOverlay::OnJoinGameButtonClicked);
}
void USignInOverlay::OnJoinGameButtonClicked()
{
check (IsValid(PortalManager));
check(IsValid(JoinGameWidget));
check(IsValid(JoinGameWidget->Button_JoinGame));
PortalManager->BroadcastJoinGameSessionMessage.AddDynamic(this, &USignInOverlay::UpdateJoinGameStatusMessage);
PortalManager->JoinGameSession();
JoinGameWidget->Button_JoinGame->SetIsEnabled(false);
}
void USignInOverlay::UpdateJoinGameStatusMessage(const FString& StatusMessage, const bool bShouldResetJoinGameButton)
{
check(IsValid(JoinGameWidget));
check(IsValid(JoinGameWidget->Button_JoinGame));
JoinGameWidget->SetStatusMessage(StatusMessage);
if (bShouldResetJoinGameButton)
{
JoinGameWidget->Button_JoinGame->SetIsEnabled(true);
}
}