/// <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));
        }
示例#2
0
 /// <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));
        }