using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Assets.Scripts.Ble.Characteristic { public struct CrankRevolution { // Token: 0x060022A5 RID: 8869 RVA: 0x0008F378 File Offset: 0x0008D578 public static CrankRevolution operator -(CrankRevolution obj1, CrankRevolution obj2) { return new CrankRevolution { Count = (ushort)(obj1.Count - obj2.Count), Time = (ushort)(obj1.Time - obj2.Time) }; } // Token: 0x060022A6 RID: 8870 RVA: 0x0008F3B8 File Offset: 0x0008D5B8 public static double ComputeValue(CrankRevolution? lastValue, CrankRevolution? newValue, Func validValueComputation) { if (newValue == null || lastValue == null || validValueComputation == null) { return double.NaN; } if (newValue.Value.Time != lastValue.Value.Time) { return validValueComputation(lastValue.Value, newValue.Value); } if (newValue.Value.Count == lastValue.Value.Count) { return double.NaN; } throw new ArgumentException("CrankRevolution Count changed but Time remain same -> strange behaviour"); } // Token: 0x060022A7 RID: 8871 RVA: 0x0008F441 File Offset: 0x0008D641 public override string ToString() { return string.Format("Time: {0}, Count: {1}", this.Time, this.Count); } // Token: 0x04001543 RID: 5443 public const ushort MaxCount = 65535; // Token: 0x04001544 RID: 5444 public const ushort MaxTime = 65535; // Token: 0x04001545 RID: 5445 public ushort Count; // Token: 0x04001546 RID: 5446 public ushort Time; } }