This commit is contained in:
parent
cd80282d19
commit
892259e6c7
|
@ -165,7 +165,7 @@ public class RadarManger : MonoBehaviour
|
|||
if (isStartRehearsing)
|
||||
{
|
||||
minCamera.gameObject.SetActive(true);
|
||||
targets = GameObject.FindGameObjectsWithTag("WRJ").ToList().FindAll(a => a.GetComponent<UnmannedAerialVehicleManage>().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<UnmannedAerialVehicleManage>();
|
||||
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<Animator>();
|
||||
RadarRotationSpeed(TurntableSpeed);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据写入
|
||||
/// </summary>
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 雷达转动速度
|
||||
|
@ -371,28 +326,21 @@ public class RadarManger : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
public List<Collider> colliders = new List<Collider>();
|
||||
|
||||
public List<Collider> attackColliders1 = new List<Collider>();
|
||||
/// <summary>
|
||||
/// 检索
|
||||
/// </summary>
|
||||
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 unmannedAerialVehicle = targets[i].GetComponent<UnmannedAerialVehicle>();
|
||||
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<Collider> colliders = new List<Collider>();
|
||||
// public List<Collider> attackColliders1 = new List<Collider>();
|
||||
//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<UnmannedAerialVehicle>();
|
||||
// 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<Animator>();
|
||||
// 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<UnmannedAerialVehicleManage>();
|
||||
// if (unmannedAerialVehicleManage && unmannedAerialVehicleManage.gamemap)
|
||||
// {
|
||||
// unmannedAerialVehicleManage.gamemap.transform.localScale = new Vector3(Mapsize, 1, Mapsize);
|
||||
// //Debug.Log("改变了无人机显示大小");
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 雷达盲区让目标消失在地图上
|
||||
/// </summary>
|
||||
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<UnmannedAerialVehicleManage>();
|
||||
// if (unmannedAerialVehicle)
|
||||
// {
|
||||
// unmannedAerialVehicle.gamemap.SetActive(false);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 获取符合条件的设备
|
||||
/// </summary>
|
||||
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<UnmannedAerialVehicleManage>();
|
||||
if (unmannedAerialVehicle)
|
||||
{
|
||||
unmannedAerialVehicle.gamemap.SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(obj.GetComponent<UnmannedAerialVehicleManage>()
|
||||
&& obj.GetComponent<UnmannedAerialVehicleManage>().GetRCS() > rcs
|
||||
&& Vector3.Distance(transform.position,obj.transform.position)> float.Parse(NearBlindArea))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 检测鼠标点击的方法
|
||||
|
|
Loading…
Reference in New Issue