From 03dd7103e0e1f1092f97e682bd30adf89840380f Mon Sep 17 00:00:00 2001 From: yulong <1838206582@qq.com> Date: Fri, 12 Jan 2024 13:20:41 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=8A=9F=E8=83=BD=E5=BE=AE?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Zion/Scripts/Adam/DeviceManager.cs | 4 ++ .../LaserFireControlPlatformManger.cs | 54 ++++++++++--------- .../TerrestrialRadioInterferenceManger.cs | 8 +-- .../UAV/UnmannedAerialVehicleManage.cs | 2 +- 4 files changed, 38 insertions(+), 30 deletions(-) diff --git a/Assets/Zion/Scripts/Adam/DeviceManager.cs b/Assets/Zion/Scripts/Adam/DeviceManager.cs index 8371a136..4c05c095 100644 --- a/Assets/Zion/Scripts/Adam/DeviceManager.cs +++ b/Assets/Zion/Scripts/Adam/DeviceManager.cs @@ -86,6 +86,10 @@ public class DeviceManager : MonoSingleton data = data.Replace("send2room", ""); Debug.LogError("设备..:" + data); string[] info = data.Split(','); + foreach (string s in info) + { + Debug.LogError(s); + } if (info.Length < 2) return; EquipmentCommon equipmentCommon = devices.Find(x => x.deviceID == info[1]); diff --git a/Assets/Zion/Scripts/ModelFunction/LaserFireControlPlatform/LaserFireControlPlatformManger.cs b/Assets/Zion/Scripts/ModelFunction/LaserFireControlPlatform/LaserFireControlPlatformManger.cs index 3e20742a..385c868c 100644 --- a/Assets/Zion/Scripts/ModelFunction/LaserFireControlPlatform/LaserFireControlPlatformManger.cs +++ b/Assets/Zion/Scripts/ModelFunction/LaserFireControlPlatform/LaserFireControlPlatformManger.cs @@ -102,6 +102,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour public GameObject LaserModer; public GameObject LaserPoint; public Transform targetPoint; // 锁定目标点的Transform组件 + private Transform Receivingposin;//激光武器打击无人机位置 public GameObject InnerLaserlineRendererPrefab; // 用于绘制射线的LineRenderer组件 public GameObject OuterLaserlineRendererPrefab; // 用于绘制射线的LineRenderer组件 public LineRenderer InnerLaserlineRenderer; // 用于绘制射线的LineRenderer组件 @@ -135,10 +136,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour /// 点击空白处碰撞器 /// public GameObject Detection; - /// - /// 接收检测到的无人机位置 - /// - public Transform Receivingposin; + void Start() { equipmentCommon = GetComponent(); @@ -177,7 +175,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour void Update() { - if (Input.GetMouseButtonDown(0)) + if (UIBootstrap.Instance.GetRoleByIDPracticeId(GlobalFlag.practiceSeatId) != "0"&&Input.GetMouseButtonDown(0)) { if (!EventSystem.current.IsPointerOverGameObject()) { @@ -244,12 +242,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour } void LateUpdate() { - ////激光发射的方法 - //Laserattack(); - if (isLasings == true) - { - CastRayAndRender(); - } + } @@ -268,15 +261,14 @@ public class LaserFireControlPlatformManger : MonoBehaviour { case "储能间隔时间:": StorageIntervalTime = weaponitemone[i].para_value; - Debug.LogError("打击间隔时间:" + StorageIntervalTime); - //timepiece = float.Parse(StorageIntervalTime); + timepiece = float.Parse(StorageIntervalTime); break; case "毁伤目标累积作用时间:": CumulativeActionTimeOfDamageTarget = weaponitemone[i].para_value; break; case "干扰距离:": InterferenceDistance = weaponitemone[i].para_value; - Debug.LogError(InterferenceDistance); + Receivingdistance = float.Parse(InterferenceDistance) * 1000; break; case "干扰角度:": @@ -293,7 +285,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour /// public void Laserattack() { - if (Receivingdistance > 0) + if (Receivingdistance > 0 && targetPoint!=null) { Collider[] colliders = Physics.OverlapSphere(transform.position, Receivingdistance);//检查是否在打击的范围内 Debug.LogError("范围打击距离:" + Receivingdistance); @@ -314,9 +306,17 @@ public class LaserFireControlPlatformManger : MonoBehaviour if (float.Parse(InterferenceAngle) >= Angle1) { Debug.LogError("角度没有问题进来了" + InterferenceAngle); - Debug.Log("计时器的时间:" + timepiece); - Receivingposin = unmannedAerialVehicle.transform; - isLasings = true; + + if (Receivingposin==null) + { + Receivingposin = unmannedAerialVehicle.transform; + Debug.LogError("接收无人机的位置" + Receivingposin.position); + var nowData = GetSyncData(); + _ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData)); + isLasings = true; + CastRayAndRender(); + break; + } } } } @@ -334,7 +334,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour { LaserModer.transform.DOLookAt(targetPoint.position, 0.1f).OnComplete(() => { - Debug.Log("目标点位..:" + targetPoint.position); + isLasing = false; //CastRayAndRender(); }); @@ -354,8 +354,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour if (targetPoint != null) { Camera.transform.DOLookAt(targetPoint.position, 0.1f).SetEase(Ease.Linear); - isLasing = false; - + //isLasing = false; } } @@ -364,8 +363,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour /// public void CastRayAndRender() { - var nowData = GetSyncData(); - _ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData)); + if (InnerLaserlineRenderer) { InnerLaserlineRenderer.SetPosition(0, LaserPoint.transform.position); // 设置线段起点为物体位置 @@ -514,8 +512,11 @@ public class LaserFireControlPlatformManger : MonoBehaviour /// protected string GetSyncData() { - Debug.Log("目标点位..:" + Receivingposin.position); - return string.Format("{0},{1},{2},{3},{4}", "Lasing", equipmentCommon.deviceID, Receivingposin.position.x, Receivingposin.position.y, Receivingposin.position.z); + + Debug.Log("目标点位..:" + Receivingposin.position); + return string.Format("{0},{1},{2},{3},{4}", "Lasing", equipmentCommon.deviceID, Receivingposin.position.x, Receivingposin.position.y, Receivingposin.position.z); + + } /// @@ -524,6 +525,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour /// public void NonSelfGeneratedEmissionLaser(string[] data) { + //激光位置下发传递 Vector3 vector3 = new Vector3(float.Parse(data[2]), float.Parse(data[3]), float.Parse(data[4])); LaserModer.transform.DOLookAt(vector3, 0.1f).OnComplete(() => { @@ -550,7 +552,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour Transform Canvas = GameObject.Find("Canvas").transform; if (Canvas && Front) { - crosshair = Instantiate(RawImage, Canvas); + crosshair = Instantiate(RawImage, Canvas); crosshair.transform.position = Camera.main.WorldToScreenPoint(transform.position); } } diff --git a/Assets/Zion/Scripts/ModelFunction/TerrestrialRadioInterference/TerrestrialRadioInterferenceManger.cs b/Assets/Zion/Scripts/ModelFunction/TerrestrialRadioInterference/TerrestrialRadioInterferenceManger.cs index 2d173844..26e9e95a 100644 --- a/Assets/Zion/Scripts/ModelFunction/TerrestrialRadioInterference/TerrestrialRadioInterferenceManger.cs +++ b/Assets/Zion/Scripts/ModelFunction/TerrestrialRadioInterference/TerrestrialRadioInterferenceManger.cs @@ -10,6 +10,7 @@ using System; using UnityEngine.UI; using UnityEngine.EventSystems; using UnityEditor.Experimental.GraphView; +using Random = UnityEngine.Random; /// /// 地面无线电干扰控制 @@ -330,8 +331,8 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour Debug.LogError("驱离"); unmannedAerialVehicleManage.transform.DOKill(); - unmannedAerialVehicleManage.transform.LookAt(new Vector3(-500, 160, 1650)); - unmannedAerialVehicleManage.transform.DOMove(new Vector3(-500, 160, 1650), 60); + unmannedAerialVehicleManage.transform.LookAt(new Vector3(-500, 160, 1600)); + unmannedAerialVehicleManage.transform.DOMove(new Vector3(-500, 160, 1600), 60); } else if (InterferenceMode == "迫降" && unmannedAerialVehicleManage != null) @@ -370,7 +371,7 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour if (unmannedAerialVehicleManage != null) { Vector3 one = unmannedAerialVehicleManage.transform.position - transform.position; - float angue = Vector3.Angle(transform.forward, one); + float angue = Vector3.Angle(one, transform.forward); if (float.Parse(InterferenceAngle) >= angue) { //unmannedAerialVehicleManage.transform.DOKill(); @@ -384,6 +385,7 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour Debug.LogError("目标没有出现在范围里面"); + } } } diff --git a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs index 9ca0f1ae..b18128a3 100644 --- a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs +++ b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs @@ -247,7 +247,7 @@ public class UnmannedAerialVehicleManage : MonoBehaviour List colliders1 = new List(); for (int i = 0; i < colliders.Count; i++) { - if (colliders[i].transform.tag == "AttackTarget" || colliders[i].transform.tag== "AttackTarget1") + if (colliders[i].transform.tag == "AttackTarget") colliders1.Add(colliders[i]); } if (colliders1.Count > 0)