public CarCheckInfo.CheckResult _checkLineResult(Vector3 vecPosFrom)
    {
        CarCheckInfo.CheckResult _res = CarCheckInfo.CheckResult.CheckResult_None;
        float fLineDis = 0.0f;

        RaycastHit[] _rayCastLst;
        _rayCastLst = Physics.RaycastAll(vecPosFrom, transform.right, CheckInfo.MaxCheckDistance, CheckInfo.LayerMsk);
        if (_rayCastLst.Length > 0)
        {
            fLineDis = _rayCastLst[0].distance;
            if (fLineDis > CheckInfo.DistOfSlowDown)
            {
                _res = CarCheckInfo.CheckResult.CheckResult_Safe;
            }
            else if (fLineDis > CheckInfo.DistOfStop)
            {
                _res = CarCheckInfo.CheckResult.CheckResult_Slow;
            }
            else
            {
                _res = CarCheckInfo.CheckResult.CheckResult_Stop;
            }
        }
        else
        {
            _res = CarCheckInfo.CheckResult.CheckResult_Safe;
        }
        if (_res == CarCheckInfo.CheckResult.CheckResult_None)
        {
            Debug.Assert(false);
        }
        return(_res);
    }
    private void FixedUpdate()
    {
        if (m_bPower == true)
        {
            m_fCurTime += Time.fixedDeltaTime;
            if (m_fCurTime >= TimeOfPowerSpeed)
            {
                m_bPower    = false;
                m_fCurSpeed = CarSpeedInf.NormalSpeed;
            }
        }
        else
        {
            Vector3 vecPosLeft  = transform.TransformPoint(Vector3.forward * m_fColliderHeight);
            Vector3 vecPosRight = transform.TransformPoint(Vector3.forward * -m_fColliderHeight);

            CarCheckInfo.CheckResult _resLeft  = _checkLineResult(vecPosLeft);
            CarCheckInfo.CheckResult _resRight = _checkLineResult(vecPosRight);

            CarCheckInfo.CheckResult _res = _resLeft > _resRight ? _resLeft : _resRight;
            if (_res == CarCheckInfo.CheckResult.CheckResult_Safe)
            {
                m_fCurSpeed = CarSpeedInf.NormalSpeed;
            }
            else if (_res == CarCheckInfo.CheckResult.CheckResult_Slow)
            {
                m_fCurSpeed = CarSpeedInf.SlowSpeed;
            }
            else if (_res == CarCheckInfo.CheckResult.CheckResult_Stop)
            {
                m_fCurSpeed = CarSpeedInf.StopSpeed;
            }
        }
        if (m_dir == GlobalDefine.CarMovementDir.CarMovementDir_West)
        {
            transform.Translate(transform.right * Time.fixedDeltaTime * m_fCurSpeed);
        }
        else if (m_dir == GlobalDefine.CarMovementDir.CarMovementDir_East)
        {
            transform.Translate(-transform.right * Time.fixedDeltaTime * m_fCurSpeed);
        }
        else if (m_dir == GlobalDefine.CarMovementDir.CarMovementDir_North)
        {
            transform.Translate(transform.forward * Time.fixedDeltaTime * m_fCurSpeed);
        }
        else if (m_dir == GlobalDefine.CarMovementDir.CarMovementDir_South)
        {
            transform.Translate(-transform.forward * Time.fixedDeltaTime * m_fCurSpeed);
        }
    }