实时位置

This commit is contained in:
账号名 2024-01-23 18:00:55 +08:00
parent 32798355eb
commit 56692e0244
5 changed files with 74 additions and 6 deletions

View File

@ -1 +1 @@
127.0.0.1:48888
172.20.10.5:48888

View File

@ -1 +1 @@
127.0.0.1
172.20.10.5

View File

@ -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)

View File

@ -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>

View File

@ -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()