diff --git a/Assets/Zion/Scripts/ModelFunction/Radar/RadarManger.cs b/Assets/Zion/Scripts/ModelFunction/Radar/RadarManger.cs index e5beb48c..1c7e359a 100644 --- a/Assets/Zion/Scripts/ModelFunction/Radar/RadarManger.cs +++ b/Assets/Zion/Scripts/ModelFunction/Radar/RadarManger.cs @@ -165,7 +165,7 @@ public class RadarManger : MonoBehaviour if (isStartRehearsing) { minCamera.gameObject.SetActive(true); - targets = GameObject.FindGameObjectsWithTag("WRJ").ToList().FindAll(a => a.GetComponent().GetRCS() > rcs); + targets = GameObject.FindGameObjectsWithTag("WRJ").ToList().FindAll(GetQualifiedEquipment); foreach (Transform child in rawImage.transform) { @@ -187,30 +187,14 @@ public class RadarManger : MonoBehaviour // onlyOne = false; // DroneViewDisplay.Instance.CreateUI(equipmentCommon.deviceID, minCamera, rawImage); //} - Deadzone();//雷达盲区 + //Deadzone();//雷达盲区 //if (Mapsize >1) //{ // Dotsize();//改变雷达地图上显示无人机大小 //} } - private void Dotsize() - { - GameObject[] wrjdtdx = GameObject.FindGameObjectsWithTag("WRJ"); - for (int i = 0; i < wrjdtdx.Length; i++) - { - if (wrjdtdx[i].gameObject.tag == "WRJ" && equipmentCommon.isPlayer) - { - UnmannedAerialVehicleManage unmannedAerialVehicleManage = wrjdtdx[i].GetComponent(); - if (unmannedAerialVehicleManage && unmannedAerialVehicleManage.gamemap) - { - unmannedAerialVehicleManage.gamemap.transform.localScale = new Vector3(Mapsize, 1, Mapsize); - //Debug.Log("改变了无人机显示大小"); - } - } - } - - } + #region 启动暂停 @@ -270,13 +254,6 @@ public class RadarManger : MonoBehaviour } #endregion - void CreateRadarUI() - { - imageprs.transform.localScale = Vector3.zero; - aniRandarUI = imageprs.GetComponent(); - RadarRotationSpeed(TurntableSpeed); - } - /// /// 数据写入 /// @@ -289,11 +266,11 @@ public class RadarManger : MonoBehaviour { case "转台转速:": TurntableSpeed = weaponitemone[i].para_value; - //RadarRotationSpeed(TurntableSpeed); + RadarRotationSpeed(TurntableSpeed); break; case "探测距离:": DetectionRange = weaponitemone[i].para_value; - Showmap(float.Parse(DetectionRange)); + //Showmap(float.Parse(DetectionRange)); detectionRadius = float.Parse(DetectionRange) * 1000; minCamera.orthographicSize = detectionRadius; break; @@ -330,29 +307,7 @@ public class RadarManger : MonoBehaviour } } - private void Showmap(float size) - { - switch (size) - { - case 1: - Mapsize = 30; - break; - case 2: - Mapsize = 60; - break; - case 3: - Mapsize = 90; - break; - case 4: - Mapsize = 120; - break; - case 5: - Mapsize = 150; - break; - default: - break; - } - } + /// /// 雷达转动速度 @@ -371,28 +326,21 @@ public class RadarManger : MonoBehaviour } } - public List colliders = new List(); - - public List attackColliders1 = new List(); /// /// 检索 /// public void RetrievalUAV() { - colliders = Physics.OverlapSphere(transform.position, detectionRadius).ToList(); // 检索范围内的所有碰撞体 - var colliders2 = colliders.FindAll(x => x.tag == "WRJ"); - - if (colliders2.Count > 0) + if (targets.Count > 0) { - for (int i = 0; i < colliders2.Count; i++) + for (int i = 0; i < targets.Count; i++) { - UnmannedAerialVehicle unmannedAerialVehicle = colliders2[i].GetComponent(); + UnmannedAerialVehicle unmannedAerialVehicle = targets[i].GetComponent(); if (unmannedAerialVehicle) { bool isnearBlindArea = Vector3.Distance(transform.position, unmannedAerialVehicle.transform.position) > nearBlindArea; if (!isnearBlindArea) continue; - attackColliders1.Add(colliders[i]); LaserFireControlPlatformManger laserFireControlPlatformManger = LaserFireControlPlatformManger.laserFireControlPlatformMangers.Find(x => (x != null && x.isLasing == false && x.lasertime <= 0)); Microwaveweapon microwaveweapon = Microwaveweapon.MicrowaveweaponList.Find(x => x != null && x.ismicow == false); if (laserFireControlPlatformManger) @@ -412,28 +360,132 @@ public class RadarManger : MonoBehaviour } } } + + #region 备份 + // public List colliders = new List(); + // public List attackColliders1 = new List(); + //public void RetrievalUAV() + //{ + // colliders = Physics.OverlapSphere(transform.position, detectionRadius).ToList(); // 检索范围内的所有碰撞体 + // var colliders2 = colliders.FindAll(x => x.tag == "WRJ"); + + // if (colliders2.Count > 0) + // { + // for (int i = 0; i < colliders2.Count; i++) + // { + // UnmannedAerialVehicle unmannedAerialVehicle = colliders2[i].GetComponent(); + // if (unmannedAerialVehicle) + // { + // bool isnearBlindArea = Vector3.Distance(transform.position, unmannedAerialVehicle.transform.position) > nearBlindArea; + // if (!isnearBlindArea) + // continue; + // attackColliders1.Add(colliders[i]); + // LaserFireControlPlatformManger laserFireControlPlatformManger = LaserFireControlPlatformManger.laserFireControlPlatformMangers.Find(x => (x != null && x.isLasing == false && x.lasertime <= 0)); + // Microwaveweapon microwaveweapon = Microwaveweapon.MicrowaveweaponList.Find(x => x != null && x.ismicow == false); + // if (laserFireControlPlatformManger) + // { + // laserFireControlPlatformManger.lasertime = laserFireControlPlatformManger.storageIntervalTime + 1.5f; + // laserFireControlPlatformManger.isLasing = true; + // laserFireControlPlatformManger.targetPoint = unmannedAerialVehicle.transform; + // laserFireControlPlatformManger.Lasing(); + // } + // else if (microwaveweapon) + // { + // microwaveweapon.ismicow = true; + // microwaveweapon.miceopos = unmannedAerialVehicle.transform; + // microwaveweapon.Orientation(); + // } + // } + // } + // } + //} + + //private void Showmap(float size) + //{ + // switch (size) + // { + // case 1: + // Mapsize = 30; + // break; + // case 2: + // Mapsize = 60; + // break; + // case 3: + // Mapsize = 90; + // break; + // case 4: + // Mapsize = 120; + // break; + // case 5: + // Mapsize = 150; + // break; + // default: + // break; + // } + //} + + //void CreateRadarUI() + //{ + // imageprs.transform.localScale = Vector3.zero; + // aniRandarUI = imageprs.GetComponent(); + // RadarRotationSpeed(TurntableSpeed); + //} + + //private void Dotsize() + //{ + // GameObject[] wrjdtdx = GameObject.FindGameObjectsWithTag("WRJ"); + // for (int i = 0; i < wrjdtdx.Length; i++) + // { + // if (wrjdtdx[i].gameObject.tag == "WRJ" && equipmentCommon.isPlayer) + // { + // UnmannedAerialVehicleManage unmannedAerialVehicleManage = wrjdtdx[i].GetComponent(); + // if (unmannedAerialVehicleManage && unmannedAerialVehicleManage.gamemap) + // { + // unmannedAerialVehicleManage.gamemap.transform.localScale = new Vector3(Mapsize, 1, Mapsize); + // //Debug.Log("改变了无人机显示大小"); + // } + // } + // } + + //} + /// /// 雷达盲区让目标消失在地图上 /// - private void Deadzone() + //private void Deadzone() + //{ + // if (float.Parse(NearBlindArea) > 0) + // { + // Collider[] colliders = Physics.OverlapSphere(transform.position, float.Parse(NearBlindArea)); + // for (int i = 0; i < colliders.Length; i++) + // { + // if (colliders[i].transform.gameObject.tag == "WRJ") + // { + // //Debug.Log("进来了" + Vector3.Distance(transform.position, colliders[i].transform.position)); + // UnmannedAerialVehicleManage unmannedAerialVehicle = colliders[i].GetComponent(); + // if (unmannedAerialVehicle) + // { + // unmannedAerialVehicle.gamemap.SetActive(false); + // } + // } + // } + // } + //} + #endregion + + /// + /// 获取符合条件的设备 + /// + public bool GetQualifiedEquipment(GameObject obj) { - if (float.Parse(NearBlindArea) > 0) - { - Collider[] colliders = Physics.OverlapSphere(transform.position, float.Parse(NearBlindArea)); - for (int i = 0; i < colliders.Length; i++) - { - if (colliders[i].transform.gameObject.tag == "WRJ") - { - //Debug.Log("进来了" + Vector3.Distance(transform.position, colliders[i].transform.position)); - UnmannedAerialVehicleManage unmannedAerialVehicle = colliders[i].GetComponent(); - if (unmannedAerialVehicle) - { - unmannedAerialVehicle.gamemap.SetActive(false); - } - } - } - } + if(obj.GetComponent() + && obj.GetComponent().GetRCS() > rcs + && Vector3.Distance(transform.position,obj.transform.position)> float.Parse(NearBlindArea)) + return true; + else + return false; } + /// /// 检测鼠标点击的方法