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 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<CrankRevolution, CrankRevolution, double> 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;
}
}