diff --git a/Platforms/XR/.Android/ConcreteXRDevice.cs b/Platforms/XR/.Android/ConcreteXRDevice.cs index 50988bf34a7..6c08748c5ba 100644 --- a/Platforms/XR/.Android/ConcreteXRDevice.cs +++ b/Platforms/XR/.Android/ConcreteXRDevice.cs @@ -18,7 +18,8 @@ namespace Microsoft.Xna.Framework.XR internal class ConcreteXRDevice : XRDeviceStrategy { IGraphicsDeviceService _graphics; - XRSessionMode _xrMode; + XRSessionMode _sessionMode; + bool _isTrackFloorLevelEnabled = false; HandsState _handsState; HeadsetState _headsetState; @@ -36,7 +37,7 @@ public override bool IsARSupported public override XRSessionMode SessionMode { - get { return _xrMode; } + get { return _sessionMode; } } public override XRDeviceState DeviceState @@ -46,7 +47,7 @@ public override XRDeviceState DeviceState public override bool IsTrackFloorLevelEnabled { - get { throw new NotImplementedException(); } + get { return _isTrackFloorLevelEnabled; } } @@ -132,7 +133,14 @@ public override void EndSessionAsync() public override void TrackFloorLevelAsync(bool enable) { - throw new NotImplementedException(); + if (enable == true) + { + throw new NotImplementedException(); + } + else + { + _isTrackFloorLevelEnabled = enable; + } } diff --git a/Platforms/XR/.SDL2/ConcreteXRDevice.cs b/Platforms/XR/.SDL2/ConcreteXRDevice.cs index 50988bf34a7..6c08748c5ba 100644 --- a/Platforms/XR/.SDL2/ConcreteXRDevice.cs +++ b/Platforms/XR/.SDL2/ConcreteXRDevice.cs @@ -18,7 +18,8 @@ namespace Microsoft.Xna.Framework.XR internal class ConcreteXRDevice : XRDeviceStrategy { IGraphicsDeviceService _graphics; - XRSessionMode _xrMode; + XRSessionMode _sessionMode; + bool _isTrackFloorLevelEnabled = false; HandsState _handsState; HeadsetState _headsetState; @@ -36,7 +37,7 @@ public override bool IsARSupported public override XRSessionMode SessionMode { - get { return _xrMode; } + get { return _sessionMode; } } public override XRDeviceState DeviceState @@ -46,7 +47,7 @@ public override XRDeviceState DeviceState public override bool IsTrackFloorLevelEnabled { - get { throw new NotImplementedException(); } + get { return _isTrackFloorLevelEnabled; } } @@ -132,7 +133,14 @@ public override void EndSessionAsync() public override void TrackFloorLevelAsync(bool enable) { - throw new NotImplementedException(); + if (enable == true) + { + throw new NotImplementedException(); + } + else + { + _isTrackFloorLevelEnabled = enable; + } } diff --git a/Platforms/XR/.UAP/ConcreteXRDevice.cs b/Platforms/XR/.UAP/ConcreteXRDevice.cs index 50988bf34a7..6c08748c5ba 100644 --- a/Platforms/XR/.UAP/ConcreteXRDevice.cs +++ b/Platforms/XR/.UAP/ConcreteXRDevice.cs @@ -18,7 +18,8 @@ namespace Microsoft.Xna.Framework.XR internal class ConcreteXRDevice : XRDeviceStrategy { IGraphicsDeviceService _graphics; - XRSessionMode _xrMode; + XRSessionMode _sessionMode; + bool _isTrackFloorLevelEnabled = false; HandsState _handsState; HeadsetState _headsetState; @@ -36,7 +37,7 @@ public override bool IsARSupported public override XRSessionMode SessionMode { - get { return _xrMode; } + get { return _sessionMode; } } public override XRDeviceState DeviceState @@ -46,7 +47,7 @@ public override XRDeviceState DeviceState public override bool IsTrackFloorLevelEnabled { - get { throw new NotImplementedException(); } + get { return _isTrackFloorLevelEnabled; } } @@ -132,7 +133,14 @@ public override void EndSessionAsync() public override void TrackFloorLevelAsync(bool enable) { - throw new NotImplementedException(); + if (enable == true) + { + throw new NotImplementedException(); + } + else + { + _isTrackFloorLevelEnabled = enable; + } } diff --git a/Platforms/XR/.WindowsDX/ConcreteXRDevice.cs b/Platforms/XR/.WindowsDX/ConcreteXRDevice.cs index 50988bf34a7..6c08748c5ba 100644 --- a/Platforms/XR/.WindowsDX/ConcreteXRDevice.cs +++ b/Platforms/XR/.WindowsDX/ConcreteXRDevice.cs @@ -18,7 +18,8 @@ namespace Microsoft.Xna.Framework.XR internal class ConcreteXRDevice : XRDeviceStrategy { IGraphicsDeviceService _graphics; - XRSessionMode _xrMode; + XRSessionMode _sessionMode; + bool _isTrackFloorLevelEnabled = false; HandsState _handsState; HeadsetState _headsetState; @@ -36,7 +37,7 @@ public override bool IsARSupported public override XRSessionMode SessionMode { - get { return _xrMode; } + get { return _sessionMode; } } public override XRDeviceState DeviceState @@ -46,7 +47,7 @@ public override XRDeviceState DeviceState public override bool IsTrackFloorLevelEnabled { - get { throw new NotImplementedException(); } + get { return _isTrackFloorLevelEnabled; } } @@ -132,7 +133,14 @@ public override void EndSessionAsync() public override void TrackFloorLevelAsync(bool enable) { - throw new NotImplementedException(); + if (enable == true) + { + throw new NotImplementedException(); + } + else + { + _isTrackFloorLevelEnabled = enable; + } } diff --git a/Platforms/XR/.iOS/ConcreteXRDevice.cs b/Platforms/XR/.iOS/ConcreteXRDevice.cs index 50988bf34a7..6c08748c5ba 100644 --- a/Platforms/XR/.iOS/ConcreteXRDevice.cs +++ b/Platforms/XR/.iOS/ConcreteXRDevice.cs @@ -18,7 +18,8 @@ namespace Microsoft.Xna.Framework.XR internal class ConcreteXRDevice : XRDeviceStrategy { IGraphicsDeviceService _graphics; - XRSessionMode _xrMode; + XRSessionMode _sessionMode; + bool _isTrackFloorLevelEnabled = false; HandsState _handsState; HeadsetState _headsetState; @@ -36,7 +37,7 @@ public override bool IsARSupported public override XRSessionMode SessionMode { - get { return _xrMode; } + get { return _sessionMode; } } public override XRDeviceState DeviceState @@ -46,7 +47,7 @@ public override XRDeviceState DeviceState public override bool IsTrackFloorLevelEnabled { - get { throw new NotImplementedException(); } + get { return _isTrackFloorLevelEnabled; } } @@ -132,7 +133,14 @@ public override void EndSessionAsync() public override void TrackFloorLevelAsync(bool enable) { - throw new NotImplementedException(); + if (enable == true) + { + throw new NotImplementedException(); + } + else + { + _isTrackFloorLevelEnabled = enable; + } }