Files
2026-02-21 16:45:37 +08:00

58 lines
1.2 KiB
C#

using System;
using System.Runtime.InteropServices;
namespace Valve.VR
{
public class CVRChaperone
{
private IVRChaperone FnTable;
internal CVRChaperone(IntPtr pInterface)
{
FnTable = (IVRChaperone)Marshal.PtrToStructure(pInterface, typeof(IVRChaperone));
}
public ChaperoneCalibrationState GetCalibrationState()
{
return FnTable.GetCalibrationState();
}
public bool GetPlayAreaSize(ref float pSizeX, ref float pSizeZ)
{
pSizeX = 0f;
pSizeZ = 0f;
return FnTable.GetPlayAreaSize(ref pSizeX, ref pSizeZ);
}
public bool GetPlayAreaRect(ref HmdQuad_t rect)
{
return FnTable.GetPlayAreaRect(ref rect);
}
public void ReloadInfo()
{
FnTable.ReloadInfo();
}
public void SetSceneColor(HmdColor_t color)
{
FnTable.SetSceneColor(color);
}
public void GetBoundsColor(ref HmdColor_t pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, ref HmdColor_t pOutputCameraColor)
{
FnTable.GetBoundsColor(ref pOutputColorArray, nNumOutputColors, flCollisionBoundsFadeDistance, ref pOutputCameraColor);
}
public bool AreBoundsVisible()
{
return FnTable.AreBoundsVisible();
}
public void ForceBoundsVisible(bool bForce)
{
FnTable.ForceBoundsVisible(bForce);
}
}
}