/// <summary> /// 检查远光灯 /// </summary> /// <param name="advancedCarSignal"></param> /// <param name="historyTime"></param> /// <param name="sencods"></param> /// <param name="highBeamCount"></param> /// <returns></returns> public static bool CheckHighBeam(this IAdvancedCarSignal advancedCarSignal, DateTime historyTime, double sencods, int highBeamCount = 1) { var cachedTime = DateTime.Now.AddSeconds(-sencods); var time = cachedTime < historyTime ? historyTime : cachedTime; return(advancedCarSignal.CheckHighBeam(time, highBeamCount)); }
/// <summary> /// 两次挂档不进 /// </summary> /// <param name="message"></param> private void OnIsNeutralChanged(IsNeutralChangedMessage message) { //当前空挡 if (message.NewValue) { var historyTime = DateTime.Now.AddSeconds(-Settings.TwiceGearNoSuccess); IAdvancedCarSignal advancedCarSignal = Singleton.GetAdvancedCarSignal; var changingGearFailed = advancedCarSignal.CheckDoubleChangingGearFailed(historyTime); //触犯规则:2次挂档不进扣分 CheckRule(!changingGearFailed, DeductionRuleCodes.RC30111); } }
/// <summary> /// 检查远光灯 /// </summary> /// <param name="advancedCarSignal"></param> /// <param name="sencods"></param> /// <param name="highBeamCount"></param> /// <returns></returns> public static bool CheckHighBeam(this IAdvancedCarSignal advancedCarSignal, double sencods, int highBeamCount = 1) { var historyTime = DateTime.Now.AddSeconds(-sencods); return(advancedCarSignal.CheckHighBeam(historyTime, highBeamCount)); }