This commit is contained in:
parent
cd80282d19
commit
892259e6c7
|
@ -165,7 +165,7 @@ public class RadarManger : MonoBehaviour
|
||||||
if (isStartRehearsing)
|
if (isStartRehearsing)
|
||||||
{
|
{
|
||||||
minCamera.gameObject.SetActive(true);
|
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)
|
foreach (Transform child in rawImage.transform)
|
||||||
{
|
{
|
||||||
|
@ -187,30 +187,14 @@ public class RadarManger : MonoBehaviour
|
||||||
// onlyOne = false;
|
// onlyOne = false;
|
||||||
// DroneViewDisplay.Instance.CreateUI(equipmentCommon.deviceID, minCamera, rawImage);
|
// DroneViewDisplay.Instance.CreateUI(equipmentCommon.deviceID, minCamera, rawImage);
|
||||||
//}
|
//}
|
||||||
Deadzone();//雷达盲区
|
//Deadzone();//雷达盲区
|
||||||
//if (Mapsize >1)
|
//if (Mapsize >1)
|
||||||
//{
|
//{
|
||||||
// Dotsize();//改变雷达地图上显示无人机大小
|
// 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 启动暂停
|
#region 启动暂停
|
||||||
|
@ -270,13 +254,6 @@ public class RadarManger : MonoBehaviour
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
void CreateRadarUI()
|
|
||||||
{
|
|
||||||
imageprs.transform.localScale = Vector3.zero;
|
|
||||||
aniRandarUI = imageprs.GetComponent<Animator>();
|
|
||||||
RadarRotationSpeed(TurntableSpeed);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数据写入
|
/// 数据写入
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -289,11 +266,11 @@ public class RadarManger : MonoBehaviour
|
||||||
{
|
{
|
||||||
case "转台转速:":
|
case "转台转速:":
|
||||||
TurntableSpeed = weaponitemone[i].para_value;
|
TurntableSpeed = weaponitemone[i].para_value;
|
||||||
//RadarRotationSpeed(TurntableSpeed);
|
RadarRotationSpeed(TurntableSpeed);
|
||||||
break;
|
break;
|
||||||
case "探测距离:":
|
case "探测距离:":
|
||||||
DetectionRange = weaponitemone[i].para_value;
|
DetectionRange = weaponitemone[i].para_value;
|
||||||
Showmap(float.Parse(DetectionRange));
|
//Showmap(float.Parse(DetectionRange));
|
||||||
detectionRadius = float.Parse(DetectionRange) * 1000;
|
detectionRadius = float.Parse(DetectionRange) * 1000;
|
||||||
minCamera.orthographicSize = detectionRadius;
|
minCamera.orthographicSize = detectionRadius;
|
||||||
break;
|
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>
|
/// <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>
|
||||||
/// 检索
|
/// 检索
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void RetrievalUAV()
|
public void RetrievalUAV()
|
||||||
{
|
{
|
||||||
colliders = Physics.OverlapSphere(transform.position, detectionRadius).ToList(); // 检索范围内的所有碰撞体
|
if (targets.Count > 0)
|
||||||
var colliders2 = colliders.FindAll(x => x.tag == "WRJ");
|
|
||||||
|
|
||||||
if (colliders2.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)
|
if (unmannedAerialVehicle)
|
||||||
{
|
{
|
||||||
bool isnearBlindArea = Vector3.Distance(transform.position, unmannedAerialVehicle.transform.position) > nearBlindArea;
|
bool isnearBlindArea = Vector3.Distance(transform.position, unmannedAerialVehicle.transform.position) > nearBlindArea;
|
||||||
if (!isnearBlindArea)
|
if (!isnearBlindArea)
|
||||||
continue;
|
continue;
|
||||||
attackColliders1.Add(colliders[i]);
|
|
||||||
LaserFireControlPlatformManger laserFireControlPlatformManger = LaserFireControlPlatformManger.laserFireControlPlatformMangers.Find(x => (x != null && x.isLasing == false && x.lasertime <= 0));
|
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);
|
Microwaveweapon microwaveweapon = Microwaveweapon.MicrowaveweaponList.Find(x => x != null && x.ismicow == false);
|
||||||
if (laserFireControlPlatformManger)
|
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>
|
||||||
/// 雷达盲区让目标消失在地图上
|
/// 雷达盲区让目标消失在地图上
|
||||||
/// </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)
|
if(obj.GetComponent<UnmannedAerialVehicleManage>()
|
||||||
{
|
&& obj.GetComponent<UnmannedAerialVehicleManage>().GetRCS() > rcs
|
||||||
Collider[] colliders = Physics.OverlapSphere(transform.position, float.Parse(NearBlindArea));
|
&& Vector3.Distance(transform.position,obj.transform.position)> float.Parse(NearBlindArea))
|
||||||
for (int i = 0; i < colliders.Length; i++)
|
return true;
|
||||||
{
|
else
|
||||||
if (colliders[i].transform.gameObject.tag == "WRJ")
|
return false;
|
||||||
{
|
|
||||||
//Debug.Log("进来了" + Vector3.Distance(transform.position, colliders[i].transform.position));
|
|
||||||
UnmannedAerialVehicleManage unmannedAerialVehicle = colliders[i].GetComponent<UnmannedAerialVehicleManage>();
|
|
||||||
if (unmannedAerialVehicle)
|
|
||||||
{
|
|
||||||
unmannedAerialVehicle.gamemap.SetActive(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 检测鼠标点击的方法
|
/// 检测鼠标点击的方法
|
||||||
|
|
Loading…
Reference in New Issue