JoinSpace (Unreal Engine)
- Declaration
static void JoinSpace(FString SpaceId, CavrnusSpaceConnected OnConnected, CavrnusError OnFailure);
Delegates Options:
DECLARE_DYNAMIC_DELEGATE_OneParam(FCavrnusSpaceConnected, FCavrnusSpaceConnection, SpaceConnection);
DECLARE_DYNAMIC_DELEGATE_OneParam(FCavrnusError, FString, Error);
typedef TFunction<void(const FCavrnusSpaceConnection&)> CavrnusSpaceConnected;
typedef TFunction<void(const FString&)> CavrnusError;
- Description
Connects to a Space; joining voice & video and receiving/processing the journal.
OnFailure
is not expected to be hit unless the user does not have proper authentication to join a space.
- Blueprint Sample
Â
Join Space
- Code Sample
SpaceManager.h
#include "Types/CavrnusCallbackTypes.h"
#include "Types/CavrnusSpaceConnection.h"
#include "SpaceManager.generated.h"
UCLASS()
class MODULE_API USpaceManager
{
public:
USpaceManager();
void JoinSpace(FString SpaceId);
UFUNCTION()
void OnSpaceConnectionSuccess(FCavrnusSpaceConnection SpaceConnection);
UFUNCTION()
void OnSpaceConnectionFailure(FString Error);
private:
FCavrnusSpaceConnected SpaceConnectionSuccess;
FCavrnusError SpaceConnectionFailure;
FCavrnusSpaceConnection CurrentConnectedSpace;
};
SpaceManager.cpp
#include "SpaceManager.h"
#include "CavrnusFunctionLibrary.h"
USpaceManager::USpaceManager()
{
SpaceConnectionSuccess.BindUFunction(this, GET_FUNCTION_NAME_CHECKED(USpaceManager, OnSpaceConnectionSuccess));
SpaceConnectionFailure.BindUFunction(this, GET_FUNCTION_NAME_CHECKED(USpaceManager, OnSpaceConnectionFailure));
}
void USpaceManager::JoinSpace(FString SpaceId)
{
UCavrnusFunctionLibrary::JoinSpace(JoinSpaceId, SpaceConnectionSuccess, SpaceConnectionFailure);
}
void USpaceManager::OnSpaceConnectionSuccess(FCavrnusSpaceConnection SpaceConnection)
{
CurrentConnectedSpace = SpaceConnection;
UE_LOG(LogTemp, Log, TEXT("Successfully joined space %d!"), SpaceConnection.SpaceConnectionId);
}
void USpaceManager::OnSpaceConnectionFailure(FString ErrorMessage)
{
CurrentConnectedSpace = FCavrnusSpaceConnection();
UE_LOG(LogCavrnusConnector, Error, TEXT("Failed to join space, error: %s"), *ErrorMessage);
}