实时位置
This commit is contained in:
parent
32798355eb
commit
56692e0244
|
@ -1 +1 @@
|
|||
127.0.0.1:48888
|
||||
172.20.10.5:48888
|
|
@ -1 +1 @@
|
|||
127.0.0.1
|
||||
172.20.10.5
|
|
@ -288,6 +288,13 @@ public class EquipmentCommon : MonoBehaviour
|
|||
}
|
||||
}
|
||||
break;
|
||||
case "WRJExpel"://驱离无人机
|
||||
UnmannedAerialVehicleManage unmannedAerialVehicleManageExpel = GetComponent<UnmannedAerialVehicleManage>();
|
||||
if (unmannedAerialVehicleManageExpel)
|
||||
{
|
||||
unmannedAerialVehicleManageExpel.CheckSatellitePositioningFrequency(data[2], int.Parse(data[2]));
|
||||
}
|
||||
break;
|
||||
case "DroneWasDestroyed"://单个无人机被销毁
|
||||
UnmannedAerialVehicleManage _unmannedAerialVehicleManage = GetComponent<UnmannedAerialVehicleManage>();
|
||||
if (_unmannedAerialVehicleManage)
|
||||
|
@ -299,6 +306,17 @@ public class EquipmentCommon : MonoBehaviour
|
|||
}
|
||||
}
|
||||
break;
|
||||
case "WRJDitch"://
|
||||
UnmannedAerialVehicleManage _unmannedAerialVehicleManageDitch = GetComponent<UnmannedAerialVehicleManage>();
|
||||
if (_unmannedAerialVehicleManageDitch)
|
||||
{
|
||||
UnmannedAerialVehicle unmannedAerialVehicle = _unmannedAerialVehicleManageDitch.unmannedAerialVehicles.Find(x => x.serialNumber == data[2]);
|
||||
if (unmannedAerialVehicle)
|
||||
{
|
||||
unmannedAerialVehicle.CheckSatellitePositioningFrequency(data[3], int.Parse(data[4]));
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "Planedata":
|
||||
UnmannedAerialVehicleManage unmannedAerialVehicleManage1 = GetComponent<UnmannedAerialVehicleManage>();
|
||||
if (unmannedAerialVehicleManage1)
|
||||
|
|
|
@ -11,6 +11,7 @@ using UnityEngine.UI;
|
|||
using UnityEngine.EventSystems;
|
||||
using Random = UnityEngine.Random;
|
||||
using static UnityEngine.GraphicsBuffer;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
/*
|
||||
地面无线电干扰对无人机的干扰通常是指对其数据链通信频点的干扰,而不是卫星定位频点的干扰。
|
||||
|
@ -313,17 +314,41 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
|
|||
/// </summary>
|
||||
public void Interferencemode(Transform wrj)
|
||||
{
|
||||
UnmannedAerialVehicleManage unmannedAerialVehicleManage = null;
|
||||
if (wrj.GetComponent<UnmannedAerialVehicleManage>())
|
||||
UnmannedAerialVehicleManage unmannedAerialVehicleManage = wrj.GetComponent<UnmannedAerialVehicleManage>();
|
||||
if (unmannedAerialVehicleManage)
|
||||
{
|
||||
unmannedAerialVehicleManage = wrj.GetComponent<UnmannedAerialVehicleManage>();
|
||||
unmannedAerialVehicleManage.CheckSatellitePositioningFrequency(
|
||||
InterferenceMode,
|
||||
ground);
|
||||
var nowData = GetSyncData(unmannedAerialVehicleManage);
|
||||
DeviceManager.Instance.send2roomStr.Enqueue(nowData);
|
||||
}
|
||||
UnmannedAerialVehicle unmannedAerialVehicle = wrj.GetComponent<UnmannedAerialVehicle>();
|
||||
if (unmannedAerialVehicle)
|
||||
{
|
||||
unmannedAerialVehicle = wrj.GetComponent<UnmannedAerialVehicle>();
|
||||
unmannedAerialVehicle.CheckSatellitePositioningFrequency(
|
||||
InterferenceMode,
|
||||
ground);
|
||||
var nowData = GetSyncData(unmannedAerialVehicle);
|
||||
DeviceManager.Instance.send2roomStr.Enqueue(nowData);
|
||||
}
|
||||
isDo = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 无人机整体驱离
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected string GetSyncData(UnmannedAerialVehicleManage unmannedAerialVehicleManage)
|
||||
{
|
||||
return string.Format("{0},{1},{2},{3}", "WRJExpel", unmannedAerialVehicleManage.equipmentCommon.deviceID, InterferenceMode, LayerMask.LayerToName(ground));
|
||||
}
|
||||
|
||||
protected string GetSyncData(UnmannedAerialVehicle unmannedAerialVehicle)
|
||||
{
|
||||
return string.Format("{0},{1},{2},{3},{4}", "WRJDitch", unmannedAerialVehicle.unmannedAerialVehicleManage.equipmentCommon.deviceID, unmannedAerialVehicle.serialNumber, InterferenceMode, LayerMask.LayerToName(ground));
|
||||
}
|
||||
/// <summary>
|
||||
/// 开启无线电干扰
|
||||
/// </summary>
|
||||
|
|
|
@ -194,7 +194,32 @@ public class UnmannedAerialVehicle : MonoBehaviour
|
|||
}));
|
||||
}
|
||||
|
||||
|
||||
public void CheckSatellitePositioningFrequency(
|
||||
string interferenceMode,
|
||||
LayerMask ground)
|
||||
{
|
||||
|
||||
if (interferenceMode == "驱离")
|
||||
{
|
||||
transform.DOKill();
|
||||
transform.LookAt(new Vector3(-500, 160, 1600));
|
||||
transform.DOMove(new Vector3(-500, 160, 1600), 60);
|
||||
}
|
||||
else if (interferenceMode == "迫降")
|
||||
{
|
||||
transform.DOKill();
|
||||
RaycastHit hit;
|
||||
if (Physics.Raycast(transform.position, Vector3.down, out hit, Mathf.Infinity, ground))
|
||||
{
|
||||
if (hit.distance > 1f)
|
||||
{
|
||||
hit.point = new Vector3(hit.point.x, hit.point.y + 3, hit.point.z);
|
||||
transform.DOMove(hit.point, 6);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void OnBecameInvisible()
|
||||
|
|
Loading…
Reference in New Issue