58 lines
1.6 KiB
C#
58 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Assets.Scripts.Ble.Characteristic
|
|
{
|
|
public struct WheelRevolution
|
|
{
|
|
// Token: 0x060022AE RID: 8878 RVA: 0x0008F510 File Offset: 0x0008D710
|
|
public static WheelRevolution operator -(WheelRevolution obj1, WheelRevolution obj2)
|
|
{
|
|
return new WheelRevolution
|
|
{
|
|
Count = obj1.Count - obj2.Count,
|
|
Time = (ushort)(obj1.Time - obj2.Time)
|
|
};
|
|
}
|
|
|
|
// Token: 0x060022AF RID: 8879 RVA: 0x0008F550 File Offset: 0x0008D750
|
|
public static double ComputeValue(WheelRevolution? lastValue, WheelRevolution? newValue, Func<WheelRevolution, WheelRevolution, double> validValueComputation)
|
|
{
|
|
if (newValue == null || lastValue == 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("WheelRevolution Count changed but Time remain same -> strange behaviour");
|
|
}
|
|
|
|
// Token: 0x060022B0 RID: 8880 RVA: 0x0008F5D6 File Offset: 0x0008D7D6
|
|
public override string ToString()
|
|
{
|
|
return string.Format("Time: {0}, Count: {1}", this.Time, this.Count);
|
|
}
|
|
|
|
// Token: 0x04001548 RID: 5448
|
|
public const uint MaxCount = 4294967295U;
|
|
|
|
// Token: 0x04001549 RID: 5449
|
|
public const ushort MaxTime = 65535;
|
|
|
|
// Token: 0x0400154A RID: 5450
|
|
public uint Count;
|
|
|
|
// Token: 0x0400154B RID: 5451
|
|
public ushort Time;
|
|
}
|
|
}
|