VRTowerDef/Plugins/MetaXR/Source/OculusXRMovement/Private/LiveLinkOculusXRMovementSou...

41 lines
1.3 KiB
C++

// Copyright (c) Meta Platforms, Inc. and affiliates.
#include "LiveLinkOculusXRMovementSourceFactory.h"
#include "IOculusXRMovementModule.h"
#include "Features/IModularFeatures.h"
#include "ILiveLinkClient.h"
#define LOCTEXT_NAMESPACE "OculusXRMovement"
FText ULiveLinkOculusXRMovementSourceFactory::GetSourceDisplayName() const
{
return LOCTEXT("OculusXRMovementLiveLinkSourceName", "Meta MovementSDK Live Link");
}
FText ULiveLinkOculusXRMovementSourceFactory::GetSourceTooltip() const
{
return LOCTEXT("OculusXRMovementLiveLinkSourceTooltip", "Meta MovementSDK Live Link Source");
}
ULiveLinkOculusXRMovementSourceFactory::EMenuType ULiveLinkOculusXRMovementSourceFactory::GetMenuType() const
{
if (IModularFeatures::Get().IsModularFeatureAvailable(ILiveLinkClient::ModularFeatureName))
{
const ILiveLinkClient& LiveLinkClient = IModularFeatures::Get().GetModularFeature<ILiveLinkClient>(ILiveLinkClient::ModularFeatureName);
if (!IOculusXRMovementModule::Get().IsLiveLinkSourceValid() || !LiveLinkClient.HasSourceBeenAdded(IOculusXRMovementModule::Get().GetLiveLinkSource()))
{
return EMenuType::MenuEntry;
}
}
return EMenuType::Disabled;
}
TSharedPtr<ILiveLinkSource> ULiveLinkOculusXRMovementSourceFactory::CreateSource(const FString& ConnectionString) const
{
return IOculusXRMovementModule::Get().GetLiveLinkSource();
}
#undef LOCTEXT_NAMESPACE