Update Game Instance for Joining via Lobby Code
This commit is contained in:
parent
8ac4588aed
commit
a85c60cbf1
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:626aeae1e79975c59fdf35d793d2a62fbbb0bb0ed9f61829d0523238dc831158
|
oid sha256:3272aecd605e97dead183751dc40c88bc6f59cd5511f9850f949e1f49c8c1f93
|
||||||
size 1198885
|
size 1293433
|
||||||
|
@ -103,6 +103,17 @@ void UCMGameInstance::GetServerLobbyList()
|
|||||||
Request->ProcessRequest();
|
Request->ProcessRequest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UCMGameInstance::GetLobbyByID(const FString LobbyID)
|
||||||
|
{
|
||||||
|
const auto Request = FHttpModule::Get().CreateRequest();
|
||||||
|
Request->SetURL(LobbyAPI + "/lobbies/id/" + LobbyID);
|
||||||
|
Request->SetVerb("GET");
|
||||||
|
Request->SetHeader("Authorization", "Bearer " + JwtToken);
|
||||||
|
Request->SetHeader("Accept", "application/json");
|
||||||
|
Request->OnProcessRequestComplete().BindUObject(this, &UCMGameInstance::OnRequestToGetLobbyByIDComplete);
|
||||||
|
Request->ProcessRequest();
|
||||||
|
}
|
||||||
|
|
||||||
void UCMGameInstance::ReadyUp()
|
void UCMGameInstance::ReadyUp()
|
||||||
{
|
{
|
||||||
const TSharedPtr<FJsonObject> ReadyUp = MakeShareable(new FJsonObject);
|
const TSharedPtr<FJsonObject> ReadyUp = MakeShareable(new FJsonObject);
|
||||||
@ -416,3 +427,25 @@ void UCMGameInstance::OnRequestToGetServerLobbyListComplete(FHttpRequestPtr Requ
|
|||||||
OnServerLobbyListComplete.Broadcast(false);
|
OnServerLobbyListComplete.Broadcast(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UCMGameInstance::OnRequestToGetLobbyByIDComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)
|
||||||
|
{
|
||||||
|
if (bWasSuccessful)
|
||||||
|
{
|
||||||
|
const auto JsonReader = TJsonReaderFactory<>::Create(Response->GetContentAsString());
|
||||||
|
if (TSharedPtr<FJsonObject> JsonObject; FJsonSerializer::Deserialize(JsonReader, JsonObject))
|
||||||
|
{
|
||||||
|
const auto JsonLobbyID = JsonObject->GetStringField("id");
|
||||||
|
const auto JsonMaxPlayers = JsonObject->GetIntegerField("maxPlayers");
|
||||||
|
OnGetLobbyByID.Broadcast(true, JsonLobbyID, JsonMaxPlayers);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OnGetLobbyByID.Broadcast(false, "AAAAA", 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OnGetLobbyByID.Broadcast(false, "AAAAA", 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -32,6 +32,8 @@ public:
|
|||||||
|
|
||||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnServerLobbyListComplete, const bool, bWasSuccessful);
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnServerLobbyListComplete, const bool, bWasSuccessful);
|
||||||
|
|
||||||
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnGetLobbyByID, const bool, bWasSuccessful, const FString, LobbyID, const int, MaxPlayers);
|
||||||
|
|
||||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayerJoin, const FString, PlayerName);
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayerJoin, const FString, PlayerName);
|
||||||
|
|
||||||
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayerLeave, const FString, PlayerName);
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayerLeave, const FString, PlayerName);
|
||||||
@ -59,6 +61,8 @@ public:
|
|||||||
UPROPERTY(BlueprintAssignable, Category = "Lobby")
|
UPROPERTY(BlueprintAssignable, Category = "Lobby")
|
||||||
FOnServerLobbyListComplete OnServerLobbyListComplete;
|
FOnServerLobbyListComplete OnServerLobbyListComplete;
|
||||||
UPROPERTY(BlueprintAssignable, Category = "Lobby")
|
UPROPERTY(BlueprintAssignable, Category = "Lobby")
|
||||||
|
FOnGetLobbyByID OnGetLobbyByID;
|
||||||
|
UPROPERTY(BlueprintAssignable, Category = "Lobby")
|
||||||
FOnPlayerJoin OnPlayerJoin;
|
FOnPlayerJoin OnPlayerJoin;
|
||||||
UPROPERTY(BlueprintAssignable, Category = "Lobby")
|
UPROPERTY(BlueprintAssignable, Category = "Lobby")
|
||||||
FOnPlayerLeave OnPlayerLeave;
|
FOnPlayerLeave OnPlayerLeave;
|
||||||
@ -102,6 +106,8 @@ public:
|
|||||||
UFUNCTION(BlueprintCallable, Category = "Lobby")
|
UFUNCTION(BlueprintCallable, Category = "Lobby")
|
||||||
void GetServerLobbyList();
|
void GetServerLobbyList();
|
||||||
UFUNCTION(BlueprintCallable, Category = "Lobby")
|
UFUNCTION(BlueprintCallable, Category = "Lobby")
|
||||||
|
void GetLobbyByID(const FString LobbyID);
|
||||||
|
UFUNCTION(BlueprintCallable, Category = "Lobby")
|
||||||
void ReadyUp();
|
void ReadyUp();
|
||||||
UFUNCTION(BlueprintCallable, Category = "Lobby")
|
UFUNCTION(BlueprintCallable, Category = "Lobby")
|
||||||
void UnReady();
|
void UnReady();
|
||||||
@ -123,4 +129,5 @@ private:
|
|||||||
void OnRequestToLeaveLobbyComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
|
void OnRequestToLeaveLobbyComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
|
||||||
void OnRequestToGetLobbyPlayersComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
|
void OnRequestToGetLobbyPlayersComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
|
||||||
void OnRequestToGetServerLobbyListComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
|
void OnRequestToGetServerLobbyListComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
|
||||||
|
void OnRequestToGetLobbyByIDComplete(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user