October3d55/M/PICOOpenXR/Source/PICOOpenXRMovement/Private/PICO_MovementModule.cpp

53 lines
1.2 KiB
C++

// Copyright 2023 PICO Inc. All Rights Reserved.
#include "PICO_MovementModule.h"
DEFINE_LOG_CATEGORY(PICOOpenXRMovement);
void FPICOOpenXRMovementModule::StartupModule()
{
FaceTrackingPICOExtension.Register();
BodyTrackingPICOExtension.Register();
MotionTrackingPICOExtension.Register();
EyeTrackingPICOExtension.Register();
ExpandDeviceExtension.Register();
}
void FPICOOpenXRMovementModule::ShutdownModule()
{
FaceTrackingPICOExtension.Unregister();
BodyTrackingPICOExtension.Unregister();
MotionTrackingPICOExtension.Unregister();
EyeTrackingPICOExtension.Unregister();
ExpandDeviceExtension.Unregister();
}
TSharedPtr<ILiveLinkSource> FPICOOpenXRMovementModule::GetLiveLinkSource()
{
if (!MovementSource.IsValid())
{
AddLiveLinkSource();
}
return MovementSource;
}
bool FPICOOpenXRMovementModule::IsLiveLinkSourceValid() const
{
return MovementSource.IsValid();
}
void FPICOOpenXRMovementModule::AddLiveLinkSource()
{
if (!MovementSource.IsValid())
{
MovementSource = MakeShared<PICOLiveLink::LiveLinkSource>();
}
}
void FPICOOpenXRMovementModule::RemoveLiveLinkSource()
{
MovementSource.Reset();
}
IMPLEMENT_MODULE(FPICOOpenXRMovementModule, PICOOpenXRMovement)