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(); } } }
/// <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")); //获取刹车偏移量 } }
// 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"); } } } }