Esempio n. 1
0
 public void Shifting(ref int tempGearParam)
 {
     if (Gear.id < GearBox.Length - 1)
     {
         if (LogitechGSDK.LogiButtonTriggered(0, 4)) //  Gear shift up triggered
         {
             tempGearParam = Gear.id;
             Gear          = GearBox[1];
         }
         if (LogitechGSDK.LogiButtonReleased(0, 4)) // Gear shift up released
         {
             Gear          = GearBox[tempGearParam + 1];
             tempGearParam = Gear.id;
             gearText.text = Gear.shift.ToString();
         }
     }
     if (Gear.id > 0)
     {
         if (LogitechGSDK.LogiButtonTriggered(0, 5)) //  Gear shift down triggered
         {
             tempGearParam = Gear.id;
             Gear          = GearBox[1];
         }
         if (LogitechGSDK.LogiButtonReleased(0, 5)) //   Gear shift down released
         {
             Gear          = GearBox[tempGearParam - 1];
             tempGearParam = Gear.id;
             gearText.text = Gear.shift.ToString();
         }
     }
 }
Esempio n. 2
0
    /// <summary>
    /// 输入方式
    /// </summary>
    public void InputValue()
    {
        //判断设备是否接入
        if (LogitechGSDK.LogiUpdate() && LogitechGSDK.LogiIsConnected(0))
        {
            //获取键位值
            LogitechGSDK.DIJOYSTATE2ENGINES rec;
            rec = LogitechGSDK.LogiGetStateUnity(0);

            steeringWheel        = rec.lX / 32767f;                         //获取方向盘偏移量
            accelerator          = Mathf.Clamp01(rec.lY / -32767f);         //获取油门偏移量
            footbrake            = Mathf.Clamp01(rec.lRz / -32767f);        //获取刹车偏移量
            clutch               = rec.rglSlider[0] / -32767f;              //获取偏移量
            isStartEngine        = LogitechGSDK.LogiButtonTriggered(0, 23); //判断是否启动引擎23
            isOpenLowHeadLight   = LogitechGSDK.LogiButtonTriggered(0, 11); //判断是否打开近光灯11
            isOpenHighHeadLight  = LogitechGSDK.LogiButtonTriggered(0, 10); //判断是否打开远光灯10
            isOpenRightIndicator = LogitechGSDK.LogiButtonTriggered(0, 6);  //判断是否打开右指示灯6
            isOpenLeftIndicator  = LogitechGSDK.LogiButtonTriggered(0, 7);  //判断是否打开左指示灯7
            isUseHandbrake       = LogitechGSDK.LogiButtonTriggered(0, 2);  //判断是否使用手刹2
            isOpenDoubleFlash    = LogitechGSDK.LogiButtonTriggered(0, 5);  //判断是否打开双闪灯5
        }
        else
        {
            steeringWheel = Input.GetAxis("Horizontal");               //获取方向盘偏移量
            accelerator   = Mathf.Clamp01(Input.GetAxis("Vertical"));  //获取油门偏移量
            footbrake     = Mathf.Clamp01(-Input.GetAxis("Vertical")); //获取刹车偏移量
        }
    }
Esempio n. 3
0
    // YC added
    void Update()
    {
        if (LogitechGSDK.LogiUpdate() && LogitechGSDK.LogiIsConnected(0))
        {
            if (moved == false)
            {
                moved = true;
                thread.Start();
            }

            // enter key : manual/auto mode switch
            if (LogitechGSDK.LogiButtonTriggered(0, 23))
            {
                manualMode = !manualMode;
            }

            // ps key : reload scene
            if (LogitechGSDK.LogiButtonTriggered(0, 24))
            {
                loopCount = 0;
                Scene scene = SceneManager.GetActiveScene();
                SceneManager.LoadScene(scene.name);
            }

            // option key : change scene
            if (LogitechGSDK.LogiButtonTriggered(0, 9))
            {
                loopCount = 0;
                Scene scene = SceneManager.GetActiveScene();

                if (scene.name == "JungleTrackAutonomous")
                {
                    SceneManager.LoadScene("LakeTrackautonomous");
                }
                else
                {
                    SceneManager.LoadScene("JungleTrackAutonomous");
                }
            }
        }
    }