internal static void PlatformStart(SensorSpeed sensorSpeed) { var delay = SensorDelay.Normal; switch (sensorSpeed) { case SensorSpeed.Normal: delay = SensorDelay.Normal; break; case SensorSpeed.Fastest: delay = SensorDelay.Fastest; break; case SensorSpeed.Game: delay = SensorDelay.Game; break; case SensorSpeed.Ui: delay = SensorDelay.Ui; break; } accelerometer = Platform.SensorManager.GetDefaultSensor(SensorType.Accelerometer); magnetometer = Platform.SensorManager.GetDefaultSensor(SensorType.MagneticField); listener = new SensorListener(accelerometer.Name, magnetometer.Name, delay); Platform.SensorManager.RegisterListener(listener, accelerometer, delay); Platform.SensorManager.RegisterListener(listener, magnetometer, delay); }
internal static void PlatformStart(SensorSpeed sensorSpeed, bool applyLowPassFilter) { var delay = sensorSpeed.ToPlatform(); accelerometer = Platform.SensorManager.GetDefaultSensor(SensorType.Accelerometer); magnetometer = Platform.SensorManager.GetDefaultSensor(SensorType.MagneticField); listener = new SensorListener(accelerometer.Name, magnetometer.Name, delay, applyLowPassFilter); Platform.SensorManager.RegisterListener(listener, accelerometer, delay); Platform.SensorManager.RegisterListener(listener, magnetometer, delay); }
internal static void PlatformStop() { if (listener == null) { return; } Platform.SensorManager.UnregisterListener(listener, accelerometer); Platform.SensorManager.UnregisterListener(listener, magnetometer); listener.Dispose(); listener = null; }