diff --git a/U3D_DrivingSystem/Assembly-CSharp.csproj b/U3D_DrivingSystem/Assembly-CSharp.csproj index 26f3a47b..8cd8c65a 100644 --- a/U3D_DrivingSystem/Assembly-CSharp.csproj +++ b/U3D_DrivingSystem/Assembly-CSharp.csproj @@ -64,6 +64,7 @@ + @@ -115,6 +116,7 @@ + @@ -410,8 +412,6 @@ - - diff --git a/U3D_DrivingSystem/Assets/GameAssets/Art/建筑模型/收费站/prefab/收费站.prefab b/U3D_DrivingSystem/Assets/GameAssets/Art/建筑模型/收费站/prefab/收费站.prefab index 55f0b0a7..76e3680b 100644 --- a/U3D_DrivingSystem/Assets/GameAssets/Art/建筑模型/收费站/prefab/收费站.prefab +++ b/U3D_DrivingSystem/Assets/GameAssets/Art/建筑模型/收费站/prefab/收费站.prefab @@ -943,8 +943,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1103061781233615414} m_LocalRotation: {x: -3.7493998e-33, y: -6.123234e-17, z: -0, w: 1} - m_LocalPosition: {x: 8.88, y: 1.32, z: -136.53} - m_LocalScale: {x: 7.1287, y: 4.553939, z: 1.9917} + m_LocalPosition: {x: 8.67, y: 1.32, z: -132.94} + m_LocalScale: {x: 7.549293, y: 4.553939, z: 6.34} m_Children: [] m_Father: {fileID: 2080977185018652271} m_RootOrder: 11 @@ -3826,8 +3826,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3575635220137957818} m_LocalRotation: {x: -3.7493998e-33, y: -6.123234e-17, z: -0, w: 1} - m_LocalPosition: {x: 17.7, y: 1.32, z: -136.37} - m_LocalScale: {x: 7.1287, y: 4.553939, z: 1.9917} + m_LocalPosition: {x: 19.5, y: 1.32, z: -133.68} + m_LocalScale: {x: 10.725129, y: 4.553939, z: 6.34} m_Children: [] m_Father: {fileID: 3754593856869199415} m_RootOrder: 11 @@ -4032,8 +4032,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3722997025499302048} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -17.5, y: 1.32, z: -100.63} - m_LocalScale: {x: 7.1287, y: 4.553939, z: 1.9917} + m_LocalPosition: {x: -19.21, y: 1.32, z: -112.61} + m_LocalScale: {x: 10.539783, y: 4.553939, z: 6.34} m_Children: [] m_Father: {fileID: 8159294693412934162} m_RootOrder: 11 @@ -4239,8 +4239,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4030142108679120251} m_LocalRotation: {x: -3.7493998e-33, y: -6.123234e-17, z: -0, w: 1} - m_LocalPosition: {x: -8.53, y: 1.3199997, z: -100.630005} - m_LocalScale: {x: 7.1287, y: 4.553939, z: 1.9917} + m_LocalPosition: {x: -8.53, y: 1.32, z: -109.55} + m_LocalScale: {x: 7.1287, y: 4.553939, z: 6.34} m_Children: [] m_Father: {fileID: 7136885523355303906} m_RootOrder: 1 diff --git a/U3D_DrivingSystem/Assets/Scenes/main_.unity b/U3D_DrivingSystem/Assets/Scenes/main_.unity index a71e1480..2c2cd70a 100644 --- a/U3D_DrivingSystem/Assets/Scenes/main_.unity +++ b/U3D_DrivingSystem/Assets/Scenes/main_.unity @@ -47647,7 +47647,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!114 &152701625 MonoBehaviour: m_ObjectHideFlags: 0 @@ -148662,7 +148662,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &463649141 Transform: m_ObjectHideFlags: 0 @@ -150633,6 +150633,12 @@ Transform: m_Father: {fileID: 917995222} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &468594977 stripped +MeshFilter: + m_CorrespondingSourceObject: {fileID: 3371284, guid: 4292160a5e1fde347934ac660b2c5d30, + type: 3} + m_PrefabInstance: {fileID: 2037673174} + m_PrefabAsset: {fileID: 0} --- !u!1 &468702952 GameObject: m_ObjectHideFlags: 0 @@ -169067,7 +169073,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!114 &528661332 MonoBehaviour: m_ObjectHideFlags: 0 @@ -250383,7 +250389,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!114 &802318044 MonoBehaviour: m_ObjectHideFlags: 0 @@ -371443,7 +371449,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!114 &1198207951 MonoBehaviour: m_ObjectHideFlags: 0 @@ -411338,8 +411344,8 @@ MonoBehaviour: carGearControl: {fileID: 1276762320} zuiwei: {fileID: 968945826} diandongcheren: {fileID: 1384190233} - mesh: {fileID: 0} - meshFilter: {fileID: 0} + mesh: {fileID: -7193705671270685957, guid: efe2b86486a526a4e809023d89746bad, type: 3} + meshFilter: {fileID: 468594977} --- !u!1 &1323235811 GameObject: m_ObjectHideFlags: 0 @@ -477205,7 +477211,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!114 &1537967814 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/U3D_DrivingSystem/Assets/Script/CarGearControl.cs b/U3D_DrivingSystem/Assets/Script/CarGearControl.cs index d0c5ac16..4ce131aa 100644 --- a/U3D_DrivingSystem/Assets/Script/CarGearControl.cs +++ b/U3D_DrivingSystem/Assets/Script/CarGearControl.cs @@ -1,6 +1,7 @@ using EVP; using UnityEngine; using UnityEngine.UIElements; +using Button = UnityEngine.UI.Button; namespace Script { @@ -106,267 +107,279 @@ namespace Script // // carData = client.modbusQueue.Dequeue(); - if (ModbusTcpClient.modbusTcpClient.modbusQueue.Count > 0) + try { - // Debug.Log(ModbusTcpClient.modbusTcpClient.modbusQueue.Count); - - carData = ModbusTcpClient.modbusTcpClient.modbusQueue.Dequeue(); - - - //方向盘 - vehicleController.steerInput = NormalizeValue(carData.SteeringWheelAngle, minValue, maxValue); - - //钥匙 00是熄火,1是通电,2是点火 - switch (carData.KeyStatus) + if (ModbusTcpClient.modbusTcpClient.modbusQueue.Count > 0) { - case 0: - uiGame.SetActive(false); - break; - case 1: - break; - case 2: - if (carData.BrakePedalPosition > 30) - { - uiGame.SetActive(true); - currentGear = 1; - dianhuo = true; - ui2d.SetActive(true); - } + // Debug.Log(ModbusTcpClient.modbusTcpClient.modbusQueue.Count); - break; - } + carData = ModbusTcpClient.modbusTcpClient.modbusQueue.Dequeue(); - if (!dianhuo) - continue; - //手刹 - // vehicleController.throttleInput = carData.HandbrakeStatus == 0 ? 1 : 0; - //挡位 00空挡,1前进档,2倒挡,3为P档 - //当钥匙为点火状态,才能启动车 - if (carData.IgnitionSwitch == 1) - { - switch (carData.GearPosition) + //方向盘 + vehicleController.steerInput = NormalizeValue(carData.SteeringWheelAngle, minValue, maxValue); + + //钥匙 00是熄火,1是通电,2是点火 + switch (carData.KeyStatus) { case 0: + uiGame.SetActive(false); break; - case 1: //1前进档 - if (carData.HandbrakeStatus == 0) + case 1: + break; + case 2: + if (carData.BrakePedalPosition > 30) { - if (carData.AcceleratorPedalPosition > 20 && carData.AcceleratorPedalPosition <= 50) - { - vehicleController.throttleInput = 1; - currentGear = 1; - } - else if (carData.AcceleratorPedalPosition > 50 && carData.AcceleratorPedalPosition <= 80) - { vehicleController.throttleInput = 1; - currentGear = 2; - } - else if (carData.AcceleratorPedalPosition > 80 && carData.AcceleratorPedalPosition <= 100) - { vehicleController.throttleInput = 1; - currentGear = 3; - } - else - { - vehicleController.throttleInput = 0; - currentGear = 0; - } - } - else - { - vehicleController.throttleInput = 0; + uiGame.SetActive(true); + currentGear = 1; + dianhuo = true; + ui2d.SetActive(true); } break; - case 2: //2倒挡 - if (carData.HandbrakeStatus == 0) - { - if (carData.AcceleratorPedalPosition > 20) + } + + if (!dianhuo) + continue; + + //手刹 + // vehicleController.throttleInput = carData.HandbrakeStatus == 0 ? 1 : 0; + //挡位 00空挡,1前进档,2倒挡,3为P档 + //当钥匙为点火状态,才能启动车 + if (carData.IgnitionSwitch == 1) + { + switch (carData.GearPosition) + { + case 0: + break; + case 1: //1前进档 + if (carData.HandbrakeStatus == 0) { - vehicleController.throttleInput = -0.5f; + if (carData.AcceleratorPedalPosition > 20 && carData.AcceleratorPedalPosition <= 50) + { + vehicleController.throttleInput = 1; + currentGear = 1; + } + else if (carData.AcceleratorPedalPosition > 50 && carData.AcceleratorPedalPosition <= 80) + { + vehicleController.throttleInput = 1; + currentGear = 2; + } + else if (carData.AcceleratorPedalPosition > 80 && carData.AcceleratorPedalPosition <= 100) + { + vehicleController.throttleInput = 1; + currentGear = 3; + } + else + { + vehicleController.throttleInput = 0; + currentGear = 0; + } } else { vehicleController.throttleInput = 0; } - } - else - { - vehicleController.throttleInput = 0; - } - break; - case 3: - break; + break; + case 2: //2倒挡 + if (carData.HandbrakeStatus == 0) + { + if (carData.AcceleratorPedalPosition > 20) + { + vehicleController.throttleInput = -0.5f; + } + else + { + vehicleController.throttleInput = 0; + } + } + else + { + vehicleController.throttleInput = 0; + } + + break; + case 3: + break; + } } - } - //转向灯 00是未开转向灯,1是左转向灯,2是右转向灯 - //当钥匙转为通电才能启动转向灯 0熄火,1通电,2启动 - // if (carData.IgnitionSwitch == 1) - // { - // switch (carData.TurnSignalStatus) - // { - // case 0: - // carInfoManager.StopBlinking(); - // break; - // case 1: - // carInfoManager.LeftStartBlinking(); - // break; - // case 2: - // carInfoManager.RightStartBlinking(); - // break; - // } - // } + //转向灯 00是未开转向灯,1是左转向灯,2是右转向灯 + //当钥匙转为通电才能启动转向灯 0熄火,1通电,2启动 + // if (carData.IgnitionSwitch == 1) + // { + // switch (carData.TurnSignalStatus) + // { + // case 0: + // carInfoManager.StopBlinking(); + // break; + // case 1: + // carInfoManager.LeftStartBlinking(); + // break; + // case 2: + // carInfoManager.RightStartBlinking(); + // break; + // } + // } - //上1,右2,下3,左4 - if (NewValue != carData.ButtonData) - { - NewValue = carData.ButtonData; - CarMenuButton(NewValue); - } - // else - // { - // continue; - // } - - //雨刮器 - if (carData.WiperStatus == 2) - { - ygq.PlayAnimation("donghua"); - } - else - { - ygq.StopAnimationLoop(); - } - - - if (mingdi) - { - if (carData.HornStatus == 1) + //上1,右2,下3,左4 + if (NewValue != carData.ButtonData) { - mingdi = false; - accidentManager.Tr(ttt, true); + NewValue = carData.ButtonData; + CarMenuButton(NewValue); } - } + // else + // { + // continue; + // } - //转向灯和双闪 - if (carData.ButtonData == 1) - { - if (!inputUp) + //雨刮器 + if (carData.WiperStatus == 2) { - inputUp = true; - inputUpV = carData.TurnSignalStatus; + ygq.PlayAnimation("donghua"); } else { - inputUp = false; - inputUpV = -1; - turnSignalController.rightTurnSignalGame.SetActive(false); - turnSignalController.leftTurnSignalGame.SetActive(false); - turnSignalController.SetSignal(0); + ygq.StopAnimationLoop(); } - } - if (inputUpV == carData.TurnSignalStatus) - { - turnSignalController.SetSignal(3); - } - else - { - inputUpV = -1; - switch (carData.TurnSignalStatus) + + if (mingdi) + { + if (carData.HornStatus == 1) + { + mingdi = false; + accidentManager.Tr(ttt, true); + } + } + + //转向灯和双闪 + if (carData.ButtonData == 1) + { + if (!inputUp) + { + inputUp = true; + inputUpV = carData.TurnSignalStatus; + } + else + { + inputUp = false; + inputUpV = -1; + turnSignalController.rightTurnSignalGame.SetActive(false); + turnSignalController.leftTurnSignalGame.SetActive(false); + turnSignalController.SetSignal(0); + } + } + + if (inputUpV == carData.TurnSignalStatus) + { + turnSignalController.SetSignal(3); + } + else + { + inputUpV = -1; + switch (carData.TurnSignalStatus) + { + case 0: + turnSignalController.SetSignal(0); + break; + case 1: + turnSignalController.SetSignal(1); + break; + case 2: + turnSignalController.SetSignal(2); + break; + } + } + + + // 灯光 + switch (carData.LightStatus) { case 0: - turnSignalController.SetSignal(0); + turnSignalController.CloseLight(); break; case 1: - turnSignalController.SetSignal(1); + turnSignalController.OpenLight(); break; case 2: - turnSignalController.SetSignal(2); + break; } - } - // 灯光 - switch (carData.LightStatus) - { - case 0: - turnSignalController.CloseLight(); - break; - case 1: - turnSignalController.OpenLight(); - break; - case 2: - - break; - } - - - if (accident.activeInHierarchy) - { - if (carData.AcceleratorPedalPosition > 90) + if (accident.activeInHierarchy) { - accident.transform.Find("重置").GetComponent().onClick.Invoke(); - } - } - else - { - //踩离合弹出菜单UI - if (carData.ClutchPedalPosition > 30) - { - if (!ClutchPedalPositionBool) + if (carData.AcceleratorPedalPosition > 90) { - ClutchPedalPositionBool = true; - carMenuUI.SetActive(true); + accident.transform.Find("重置").GetComponent