Giant_Beast_2025/Plugins/MetaXR/Source/OculusXRHMD/Private/OpenXR/OculusXRMultiPlayerStateExtensionPlugin.h

32 lines
801 B
C++

// Copyright (c) Meta Platforms, Inc. and affiliates.
#pragma once
#include "CoreMinimal.h"
#include "OpenXR/IOculusXRExtensionPlugin.h"
DECLARE_LOG_CATEGORY_EXTERN(LogOculusMultiPlayerStateExtensionPlugin, Log, All);
namespace OculusXR
{
class FMultiPlayerStateExtensionPlugin : public IOculusXRExtensionPlugin
{
public:
FMultiPlayerStateExtensionPlugin();
~FMultiPlayerStateExtensionPlugin();
void SwitchPrimaryPIE(int PrimaryPIEIndex);
#ifdef WITH_OCULUS_BRANCH
virtual void ResetPose() override;
virtual void ReCalcPose(FTransform& CurHMDHeadPose) override;
#endif // WITH_OCULUS_BRANCH
private:
void InitMultiPlayerPoses(const FTransform& CurPose);
int CurPlayerIndex;
FTransform LastFrameHMDHeadPose;
TArray<FTransform> MultiPlayerPoses;
};
} // namespace OculusXR