public override void ConfigAttitudeSensor(Cube.AttitudeFormat format, int intervalMs, Cube.AttitudeNotificationType notificationType)
 {
     this.attitudeFormat = format;
     this.attitudeNotificationInterval = Mathf.Clamp(intervalMs / 10, 0, 255);
     this.attitudeNotificationType     = notificationType;
     this.configAttitudeSensorCallback?.Invoke(true);
 }
        protected virtual void ResetAttitudeSensor()
        {
            this.attitudeNotificationType     = Cube.AttitudeNotificationType.OnChanged;
            this.attitudeNotificationInterval = 0;
            this.attitudeFormat = Cube.AttitudeFormat.Eulers;
            this.configAttitudeSensorCallback = null;

            this.attitudeEulers         = Vector3.zero;
            this.attitudeQuat           = Quaternion.identity;
            this.attitudeEulersCallback = null;
            this.attitudeQuatCallback   = null;
        }
 public override void RequestAttitudeSensor(Cube.AttitudeFormat format)
 {
     SimulateAttitudeSensor();
     if (attitudeNotificationInterval > 0)
     {
         if (format == Cube.AttitudeFormat.Eulers)
         {
             this.attitudeEulersCallback?.Invoke(this.attitudeEulers);
             this.attitudeNotificationLastTime = Time.time;
         }
         if (format == Cube.AttitudeFormat.Quaternion)
         {
             this.attitudeQuatCallback?.Invoke(this.attitudeQuat);
             this.attitudeNotificationLastTime = Time.time;
         }
     }
 }
 public void RequestAttitudeSensor(Cube.AttitudeFormat format)
 {
     DelayCommand(() => impl.RequestAttitudeSensor(format));
 }
 public void ConfigAttitudeSensor(Cube.AttitudeFormat format, int interval, Cube.AttitudeNotificationType notificationType)
 {
     DelayCommand(() => impl.ConfigAttitudeSensor(format, interval, notificationType));
 }