protected int magneticNotificationInterval = 1; // x20ms public override void ConfigMagneticSensor(Cube.MagneticMode mode, int intervalMs, Cube.MagneticNotificationType notificationType) { this.magneticMode = mode; this.magneticNotificationInterval = Mathf.Clamp(intervalMs / 20, 0, 255); this.magneticNotificationType = notificationType; this.configMagneticSensorCallback?.Invoke(true); }
protected virtual void ResetMagneticSensor() { this.magneticMode = Cube.MagneticMode.Off; this.magnetState = Cube.MagnetState.None; this.magnetStateCallback = null; this.configMagneticSensorCallback = null; }
public override void ConfigMagneticSensor(Cube.MagneticMode mode) { if (mode > Cube.MagneticMode.MagnetState) { return; } this.magneticMode = mode; this.configMagneticSensorCallback?.Invoke(true); }
public async void OnSwitchMag() { this.magMode = (Cube.MagneticMode)(((int)this.magMode + 1) % 3); await cube.ConfigMagneticSensor( this.magMode, intervalMs : 500, // 精度20msなの注意 notificationType : Cube.MagneticNotificationType.OnChanged ); if (this.magMode == Cube.MagneticMode.Off) { this.textMag.text = "MagneticSensor Off"; } else { cube.RequestMagneticSensor(); } }
// --------- 2.3.0 -------- public void ConfigMagneticSensor(Cube.MagneticMode mode, int interval, Cube.MagneticNotificationType notificationType) { DelayCommand(() => impl.ConfigMagneticSensor(mode, interval, notificationType)); }
public void ConfigMagneticSensor(Cube.MagneticMode mode) { DelayCommand(() => impl.ConfigMagneticSensor(mode)); }