From 73bbaddb4cb09a120ae2f938b0603dd053f5adec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E5=90=8D?= <3077614386@qq.com> Date: Tue, 23 Jan 2024 14:23:20 +0800 Subject: [PATCH] 1 --- .../Prefebs/Models/moder/频谱探测.prefab | 2 +- .../Scripts/ModelFunction/EquipmentCommon.cs | 8 +- .../LaserFireControlPlatformManger.cs | 18 +--- .../ModelFunction/Radar/RadarManger.cs | 6 +- .../TerrestrialRadioInterferenceManger.cs | 90 ++++++++----------- 5 files changed, 50 insertions(+), 74 deletions(-) diff --git a/Assets/GameAssets/Prefebs/Models/moder/频谱探测.prefab b/Assets/GameAssets/Prefebs/Models/moder/频谱探测.prefab index a9725365..8fe370a5 100644 --- a/Assets/GameAssets/Prefebs/Models/moder/频谱探测.prefab +++ b/Assets/GameAssets/Prefebs/Models/moder/频谱探测.prefab @@ -58,7 +58,7 @@ Camera: far clip plane: 500 field of view: 60 orthographic: 1 - orthographic size: 300 + orthographic size: 500 m_Depth: 0 m_CullingMask: serializedVersion: 2 diff --git a/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs b/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs index b8cb9aee..b06c7ac6 100644 --- a/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs +++ b/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs @@ -155,28 +155,34 @@ public class EquipmentCommon : MonoBehaviour case "激光火控平台": LaserFireControlPlatformManger laserFireControlPlatformManger = GetComponent(); laserFireControlPlatformManger.FillInTheData(weaponitemone); - laserFireControlPlatformManger.isStartRehearsing = isStartRehearsing; + //laserFireControlPlatformManger.isStartRehearsing = isStartRehearsing; break; case "探测雷达": RadarManger radarManger = GetComponent(); radarManger.FillInTheData(weaponitemone); + radarManger.isStartRehearsing = isStartRehearsing; break; case "地面无线电干扰": TerrestrialRadioInterferenceManger terrestrialRadioInterferenceManger = GetComponent(); terrestrialRadioInterferenceManger.FillInTheData(weaponitemone); + terrestrialRadioInterferenceManger.isStartRehearsing = isStartRehearsing; + break; case "蜂群无人机": UnmannedAerialVehicleManage unmannedAerialVehicleManage = GetComponent(); unmannedAerialVehicleManage.MatrixFormation(30, 1); unmannedAerialVehicleManage.FillInTheData(weaponitemone); + unmannedAerialVehicleManage.isStartRehearsing = isStartRehearsing; break; case "频谱探测": Spectrumdetection spectrumdetection = GetComponent(); spectrumdetection.FillInTheData(weaponitemone); + spectrumdetection.isStartRehearsing = isStartRehearsing; break; case "微波武器": Microwaveweapon microwaveweapon = GetComponent(); microwaveweapon.FillInTheData(weaponitemone); + microwaveweapon.isStartRehearsing = isStartRehearsing; break; default: break; diff --git a/Assets/Zion/Scripts/ModelFunction/LaserFireControlPlatform/LaserFireControlPlatformManger.cs b/Assets/Zion/Scripts/ModelFunction/LaserFireControlPlatform/LaserFireControlPlatformManger.cs index dda52b67..846345d6 100644 --- a/Assets/Zion/Scripts/ModelFunction/LaserFireControlPlatform/LaserFireControlPlatformManger.cs +++ b/Assets/Zion/Scripts/ModelFunction/LaserFireControlPlatform/LaserFireControlPlatformManger.cs @@ -168,8 +168,6 @@ public class LaserFireControlPlatformManger : MonoBehaviour InnerLaserlineRenderer.SetPosition(1, LaserPoint.transform.position); // 设置线段终点为目标点 } - - GameObject _OuterLaserlineRenderer = Instantiate(OuterLaserlineRendererPrefab); _OuterLaserlineRenderer.transform.position = Vector3.zero; OuterLaserlineRenderer = _OuterLaserlineRenderer.GetComponent(); @@ -274,21 +272,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour Debug.LogError("没有目标"); } } - ///// - ///// 十字准星架视角 - ///// - //public void Crosshair() - //{ - // if (targetPoint != null) - // { - // camera.transform.DOLookAt(targetPoint.position, 0.5f).SetEase(Ease.Linear).OnComplete(() => - // { - // Debug.LogError("看向进来了"); - // Launchanattack(); - // }); - // } - - //} + /// /// 激光显示 /// diff --git a/Assets/Zion/Scripts/ModelFunction/Radar/RadarManger.cs b/Assets/Zion/Scripts/ModelFunction/Radar/RadarManger.cs index b968870a..8968c7d1 100644 --- a/Assets/Zion/Scripts/ModelFunction/Radar/RadarManger.cs +++ b/Assets/Zion/Scripts/ModelFunction/Radar/RadarManger.cs @@ -140,8 +140,8 @@ public class RadarManger : MonoBehaviour // Update is called once per frame void Update() { - if (equipmentCommon.isPlayer) - RetrievalUAV();//看向无人机 + //if (equipmentCommon.isPlayer) + // RetrievalUAV();//看向无人机 } #region 启动暂停 /// @@ -169,7 +169,7 @@ public class RadarManger : MonoBehaviour { //Debug.Log("Timer fired at: " + Time.time); yield return new WaitForSeconds(5); // 等待一段时间后继续执行 - //RetrievalUAV(); + RetrievalUAV(); } } diff --git a/Assets/Zion/Scripts/ModelFunction/TerrestrialRadioInterference/TerrestrialRadioInterferenceManger.cs b/Assets/Zion/Scripts/ModelFunction/TerrestrialRadioInterference/TerrestrialRadioInterferenceManger.cs index f4406f69..deed903d 100644 --- a/Assets/Zion/Scripts/ModelFunction/TerrestrialRadioInterference/TerrestrialRadioInterferenceManger.cs +++ b/Assets/Zion/Scripts/ModelFunction/TerrestrialRadioInterference/TerrestrialRadioInterferenceManger.cs @@ -105,16 +105,11 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour // Update is called once per frame void Update() { - if (unmannedAerialVehicles.Count > 0 && isDo) + if (WRJs.Count > 0 && isDo) { isDo = false; - UnmannedAerialVehicle unmannedAerialVehicle = unmannedAerialVehicles.Dequeue(); - Vector3 _pos = unmannedAerialVehicle.transform.position - new Vector3(0, 50, 0); - unmannedAerialVehicle.transform.LookAt(_pos); - unmannedAerialVehicle.transform.DOMove(_pos, 1).OnComplete(() => - { - AddBao(unmannedAerialVehicle); - }); + Transform wrj = WRJs.Dequeue(); + Interferencemode(wrj); } //Interferencemode(); //Angularrange(); @@ -122,7 +117,7 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour void LateUpdate() { Detection(); - Interferencemode(); + } /// /// 点击无线电显示UI @@ -203,7 +198,14 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour } } #endregion - + /// + /// 检索到的同频段无人机 + /// + Queue WRJs = new Queue(); + /// + /// 逐个驱离 + /// + private bool isDo = true; /// /// 数据写入 /// @@ -297,28 +299,21 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour /// /// 干扰模式 /// - public void Interferencemode() + public void Interferencemode(Transform wrj) { Collider[] colliders = Physics.OverlapSphere(transform.position, detectionRadius * 100);//检索范围 - - - for (int i = 0; i < colliders.Length; i++) + UnmannedAerialVehicle unmannedAerialVehicle = null; + if (wrj.GetComponent()) { - if (colliders[i].transform.tag == "WRJ") - { - UnmannedAerialVehicle unmannedAerialVehicle = null; - if (colliders[i].GetComponent()) - { - unmannedAerialVehicle = colliders[i].GetComponent(); - } - UnmannedAerialVehicleManage unmannedAerialVehicleManage = null; - if (colliders[i].GetComponent()) - { - unmannedAerialVehicleManage = colliders[i].GetComponent(); - unmannedAerialVehicleManage.CheckSatellitePositioningFrequency(this.transform, InterferenceMode, TransmittedPower, InterferingFrequency, InterferenceAngle, ground); - } - } + unmannedAerialVehicle = wrj.GetComponent(); } + UnmannedAerialVehicleManage unmannedAerialVehicleManage = null; + if (wrj.GetComponent()) + { + unmannedAerialVehicleManage = wrj.GetComponent(); + unmannedAerialVehicleManage.CheckSatellitePositioningFrequency(this.transform, InterferenceMode, TransmittedPower, InterferingFrequency, InterferenceAngle, ground); + } + isDo = false; } /// /// 干扰无人机角度范围 @@ -368,7 +363,20 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour { Debug.Log("干扰...:" + colliders[i].name + "成功。"); //unmannedAerialVehicle.BeAssaulted("无线电干扰"); - unmannedAerialVehicles.Enqueue(unmannedAerialVehicle); + WRJs.Enqueue(unmannedAerialVehicle.transform); + } + + } + UnmannedAerialVehicleManage unmannedAerialVehicleManage = colliders[i].GetComponent(); + if (unmannedAerialVehicleManage) + { + //Debug.Log(col.name+"数据链通信频点...:" + unmannedAerialVehicle.dataLinkCommunicationFrequency); + if (unmannedAerialVehicleManage.dataLinkCommunicationFrequency == "" || InterferingFrequency == "") continue;//无数据不执行 + if (unmannedAerialVehicleManage.dataLinkCommunicationFrequency == InterferingFrequency) + { + Debug.Log("干扰...:" + colliders[i].name + "成功。"); + //unmannedAerialVehicle.BeAssaulted("无线电干扰"); + WRJs.Enqueue(unmannedAerialVehicleManage.transform); } } @@ -376,29 +384,7 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour } } - Queue unmannedAerialVehicles = new Queue(); - - private bool isDo = true; - /// - /// 销毁单体无人机 - /// - public void AddBao(UnmannedAerialVehicle unmannedAerialVehicle) - { - string nowData = GetSyncDis(unmannedAerialVehicle); - Debug.Log(nowData); - DeviceManager.Instance.send2roomStr.Enqueue(nowData); - string currentTime = System.DateTime.Now.ToString(); - string _log = currentTime + " " + equipmentCommon.equipmentType + "(" + equipmentCommon.deviceID + ")" + - "攻击了销毁了" + unmannedAerialVehicle.unmannedAerialVehicleManage.equipmentCommon.equipmentType + "(" + unmannedAerialVehicle.unmannedAerialVehicleManage.equipmentCommon.deviceID + ")" - + "编号" + unmannedAerialVehicle.serialNumber + "子无人机"; - UploadLog(_log); - GameObject Bao = Instantiate(explodePrefab, unmannedAerialVehicle.transform); - Bao.transform.localPosition = Vector3.zero; - Bao.transform.SetParent(null); - Bao.SetActive(true); - Destroy(unmannedAerialVehicle.gameObject); - isDo = true; - } + /// ///上传日志