Lesson 74 - Find or Create Game Sessions HTTP Request
This commit is contained in:
@@ -3,7 +3,29 @@
|
||||
|
||||
#include "UI/Portal/PortalManager.h"
|
||||
|
||||
#include "HttpModule.h"
|
||||
#include "Data/API/APIData.h"
|
||||
#include "GameplayTags/DedicatedServerTags.h"
|
||||
|
||||
void UPortalManager::JoinGameSession()
|
||||
{
|
||||
BroadcastJoinGameSessionMessage.Broadcast(TEXT("Searching for Game Session..."));
|
||||
|
||||
check(APIData);
|
||||
|
||||
TSharedPtr<IHttpRequest> Request = FHttpModule::Get().CreateRequest();
|
||||
Request->OnProcessRequestComplete().BindUObject(this, &UPortalManager::FindOrCreateGameSession_Response);
|
||||
|
||||
const FString APIUrl = APIData->GetAPIEndPoint(DedicatedServersTags::GameSessionsAPI::FindOrCreateGameSession);
|
||||
|
||||
Request->SetURL(APIUrl);
|
||||
Request->SetVerb("POST");
|
||||
Request->SetHeader("Content-Type", "application/json");
|
||||
Request->ProcessRequest();
|
||||
}
|
||||
|
||||
void UPortalManager::FindOrCreateGameSession_Response(FHttpRequestPtr Request, FHttpResponsePtr Response,
|
||||
bool bWasSuccessful)
|
||||
{
|
||||
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Find or Create Game Session Response Received"));
|
||||
}
|
||||
|
||||
@@ -12,7 +12,9 @@ void USignInOverlay::NativeConstruct()
|
||||
Super::NativeConstruct();
|
||||
|
||||
check(PortalManagerClass);
|
||||
PortalManager = NewObject<UPortalManager>(PortalManagerClass);
|
||||
check(IsValid(JoinGameWidget));
|
||||
check(IsValid(JoinGameWidget->Button_JoinGame));
|
||||
PortalManager = NewObject<UPortalManager>(this, PortalManagerClass);
|
||||
|
||||
JoinGameWidget->Button_JoinGame->OnClicked.AddDynamic(this, &USignInOverlay::OnJoinGameButtonClicked);
|
||||
}
|
||||
@@ -20,6 +22,8 @@ void USignInOverlay::NativeConstruct()
|
||||
void USignInOverlay::OnJoinGameButtonClicked()
|
||||
{
|
||||
check (IsValid(PortalManager));
|
||||
check(IsValid(JoinGameWidget));
|
||||
check(IsValid(JoinGameWidget->Button_JoinGame));
|
||||
|
||||
PortalManager->BroadcastJoinGameSessionMessage.AddDynamic(this, &USignInOverlay::UpdateJoinGameStatusMessage);
|
||||
PortalManager->JoinGameSession();
|
||||
@@ -28,5 +32,6 @@ void USignInOverlay::OnJoinGameButtonClicked()
|
||||
|
||||
void USignInOverlay::UpdateJoinGameStatusMessage(const FString& StatusMessage)
|
||||
{
|
||||
check(IsValid(JoinGameWidget));
|
||||
JoinGameWidget->SetStatusMessage(StatusMessage);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user