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