Lesson 68 - JoinGame Callbacks
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
@@ -2,3 +2,8 @@
|
||||
|
||||
|
||||
#include "UI/Portal/PortalManager.h"
|
||||
|
||||
void UPortalManager::JoinGameSession()
|
||||
{
|
||||
BroadcastJoinGameSessionMessage.Broadcast(TEXT("Searching for Game Session..."));
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -24,4 +24,6 @@ public:
|
||||
|
||||
UPROPERTY(meta = (BindWidget))
|
||||
TObjectPtr<UTextBlock> TextBlock_StatusMessage;
|
||||
|
||||
void SetStatusMessage(const FString& Message) const;
|
||||
};
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
#include "UI/HTTP/HTTPRequestManager.h"
|
||||
#include "PortalManager.generated.h"
|
||||
|
||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FBroadcastJoinGameSessionMessage, const FString&, StatusMessage);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@@ -13,4 +15,11 @@ UCLASS()
|
||||
class DEDICATEDSERVERS_API UPortalManager : public UHTTPRequestManager
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
|
||||
UPROPERTY(BlueprintAssignable)
|
||||
FBroadcastJoinGameSessionMessage BroadcastJoinGameSessionMessage;
|
||||
|
||||
void JoinGameSession();
|
||||
};
|
||||
|
||||
@@ -34,4 +34,10 @@ private:
|
||||
|
||||
UPROPERTY()
|
||||
TObjectPtr<UPortalManager> PortalManager;
|
||||
|
||||
UFUNCTION()
|
||||
void OnJoinGameButtonClicked();
|
||||
|
||||
UFUNCTION()
|
||||
void UpdateJoinGameStatusMessage(const FString& StatusMessage);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user