public void SetIsStopMoveCar(bool isStop)
    {
        //Debug.Log("Unity:"+"SetIsStopMoveCar -> isStop "+isStop);
        if (IsStopMoveCar == isStop)
        {
            return;
        }

        IsStopMoveCar = isStop;
        m_Driving     = !isStop;
        if (CarMoveCom == null)
        {
            CarMoveCom = GetComponent <XKCarMoveCtrl>();
        }

        if (WaypointCom == null)
        {
            WaypointCom = GetComponent <WaypointProgressTracker>();
        }

        if (!isStop)
        {
            CarMoveCom.StartMoveCar();
            m_Target = WaypointCom.target;
            WaypointCom.Reset();
        }
        else
        {
            CarMoveCom.StopMoveCar();
        }
    }
    private void Awake()
    {
        //SetIsStopMoveCar(false); //test.
        // get the car controller reference
        m_CarController = GetComponent <XKCarMoveCtrl>();

        // give the random perlin a random value
        m_RandomPerlin = Random.value * 100;

        m_Rigidbody = GetComponent <Rigidbody>();
    }
    // Use this for initialization
    void Start()
    {
        XKPlayerMoveCarCameraCtrl.PlayerMoveCar = this;
        CarController = GetComponent <XKCarMoveCtrl>();
        CarController.m_MaximumSteerAngle = MinAngleVal;
        CarController.m_CarDriveType      = CarDriveType.FourWheelDrive;

        CarRig = GetComponent <Rigidbody>();
        CarTr  = transform;

        CarPiaoYiDirCom.enabled = false;
        KeyRotSpeed             = (80f - 0f) / (MinAngleVal - MaxAngleVal);
        for (int i = 0; i < CarHitTr.Length; i++)
        {
            CarHitTr[i].gameObject.SetActive(false);
        }
    }