2021-06-04 13:22:59 +08:00

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;
}
}