设备功能微调

This commit is contained in:
yulong 2024-01-12 13:20:41 +08:00
parent 2e62ccf66e
commit 03dd7103e0
4 changed files with 38 additions and 30 deletions

View File

@ -86,6 +86,10 @@ public class DeviceManager : MonoSingleton<DeviceManager>
data = data.Replace("send2room", ""); data = data.Replace("send2room", "");
Debug.LogError("设备..:" + data); Debug.LogError("设备..:" + data);
string[] info = data.Split(','); string[] info = data.Split(',');
foreach (string s in info)
{
Debug.LogError(s);
}
if (info.Length < 2) return; if (info.Length < 2) return;
EquipmentCommon equipmentCommon = devices.Find(x => x.deviceID == info[1]); EquipmentCommon equipmentCommon = devices.Find(x => x.deviceID == info[1]);

View File

@ -102,6 +102,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour
public GameObject LaserModer; public GameObject LaserModer;
public GameObject LaserPoint; public GameObject LaserPoint;
public Transform targetPoint; // 锁定目标点的Transform组件 public Transform targetPoint; // 锁定目标点的Transform组件
private Transform Receivingposin;//激光武器打击无人机位置
public GameObject InnerLaserlineRendererPrefab; // 用于绘制射线的LineRenderer组件 public GameObject InnerLaserlineRendererPrefab; // 用于绘制射线的LineRenderer组件
public GameObject OuterLaserlineRendererPrefab; // 用于绘制射线的LineRenderer组件 public GameObject OuterLaserlineRendererPrefab; // 用于绘制射线的LineRenderer组件
public LineRenderer InnerLaserlineRenderer; // 用于绘制射线的LineRenderer组件 public LineRenderer InnerLaserlineRenderer; // 用于绘制射线的LineRenderer组件
@ -135,10 +136,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour
/// 点击空白处碰撞器 /// 点击空白处碰撞器
/// </summary> /// </summary>
public GameObject Detection; public GameObject Detection;
/// <summary>
/// 接收检测到的无人机位置
/// </summary>
public Transform Receivingposin;
void Start() void Start()
{ {
equipmentCommon = GetComponent<EquipmentCommon>(); equipmentCommon = GetComponent<EquipmentCommon>();
@ -177,7 +175,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour
void Update() void Update()
{ {
if (Input.GetMouseButtonDown(0)) if (UIBootstrap.Instance.GetRoleByIDPracticeId(GlobalFlag.practiceSeatId) != "0"&&Input.GetMouseButtonDown(0))
{ {
if (!EventSystem.current.IsPointerOverGameObject()) if (!EventSystem.current.IsPointerOverGameObject())
{ {
@ -244,12 +242,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour
} }
void LateUpdate() void LateUpdate()
{ {
////激光发射的方法
//Laserattack();
if (isLasings == true)
{
CastRayAndRender();
}
} }
@ -268,15 +261,14 @@ public class LaserFireControlPlatformManger : MonoBehaviour
{ {
case "储能间隔时间:": case "储能间隔时间:":
StorageIntervalTime = weaponitemone[i].para_value; StorageIntervalTime = weaponitemone[i].para_value;
Debug.LogError("打击间隔时间:" + StorageIntervalTime); timepiece = float.Parse(StorageIntervalTime);
//timepiece = float.Parse(StorageIntervalTime);
break; break;
case "毁伤目标累积作用时间:": case "毁伤目标累积作用时间:":
CumulativeActionTimeOfDamageTarget = weaponitemone[i].para_value; CumulativeActionTimeOfDamageTarget = weaponitemone[i].para_value;
break; break;
case "干扰距离:": case "干扰距离:":
InterferenceDistance = weaponitemone[i].para_value; InterferenceDistance = weaponitemone[i].para_value;
Debug.LogError(InterferenceDistance);
Receivingdistance = float.Parse(InterferenceDistance) * 1000; Receivingdistance = float.Parse(InterferenceDistance) * 1000;
break; break;
case "干扰角度:": case "干扰角度:":
@ -293,7 +285,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour
/// </summary> /// </summary>
public void Laserattack() public void Laserattack()
{ {
if (Receivingdistance > 0) if (Receivingdistance > 0 && targetPoint!=null)
{ {
Collider[] colliders = Physics.OverlapSphere(transform.position, Receivingdistance);//检查是否在打击的范围内 Collider[] colliders = Physics.OverlapSphere(transform.position, Receivingdistance);//检查是否在打击的范围内
Debug.LogError("范围打击距离:" + Receivingdistance); Debug.LogError("范围打击距离:" + Receivingdistance);
@ -314,9 +306,17 @@ public class LaserFireControlPlatformManger : MonoBehaviour
if (float.Parse(InterferenceAngle) >= Angle1) if (float.Parse(InterferenceAngle) >= Angle1)
{ {
Debug.LogError("角度没有问题进来了" + InterferenceAngle); Debug.LogError("角度没有问题进来了" + InterferenceAngle);
Debug.Log("计时器的时间:" + timepiece);
Receivingposin = unmannedAerialVehicle.transform; if (Receivingposin==null)
isLasings = true; {
Receivingposin = unmannedAerialVehicle.transform;
Debug.LogError("接收无人机的位置" + Receivingposin.position);
var nowData = GetSyncData();
_ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData));
isLasings = true;
CastRayAndRender();
break;
}
} }
} }
} }
@ -334,7 +334,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour
{ {
LaserModer.transform.DOLookAt(targetPoint.position, 0.1f).OnComplete(() => LaserModer.transform.DOLookAt(targetPoint.position, 0.1f).OnComplete(() =>
{ {
Debug.Log("目标点位..:" + targetPoint.position);
isLasing = false; isLasing = false;
//CastRayAndRender(); //CastRayAndRender();
}); });
@ -354,8 +354,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour
if (targetPoint != null) if (targetPoint != null)
{ {
Camera.transform.DOLookAt(targetPoint.position, 0.1f).SetEase(Ease.Linear); Camera.transform.DOLookAt(targetPoint.position, 0.1f).SetEase(Ease.Linear);
isLasing = false; //isLasing = false;
} }
} }
@ -364,8 +363,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour
/// </summary> /// </summary>
public void CastRayAndRender() public void CastRayAndRender()
{ {
var nowData = GetSyncData();
_ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData));
if (InnerLaserlineRenderer) if (InnerLaserlineRenderer)
{ {
InnerLaserlineRenderer.SetPosition(0, LaserPoint.transform.position); // 设置线段起点为物体位置 InnerLaserlineRenderer.SetPosition(0, LaserPoint.transform.position); // 设置线段起点为物体位置
@ -514,8 +512,11 @@ public class LaserFireControlPlatformManger : MonoBehaviour
/// <returns></returns> /// <returns></returns>
protected string GetSyncData() protected string GetSyncData()
{ {
Debug.Log("目标点位..:" + Receivingposin.position);
return string.Format("{0},{1},{2},{3},{4}", "Lasing", equipmentCommon.deviceID, Receivingposin.position.x, Receivingposin.position.y, Receivingposin.position.z); Debug.Log("目标点位..:" + Receivingposin.position);
return string.Format("{0},{1},{2},{3},{4}", "Lasing", equipmentCommon.deviceID, Receivingposin.position.x, Receivingposin.position.y, Receivingposin.position.z);
} }
/// <summary> /// <summary>
@ -524,6 +525,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour
/// <param name="data"></param> /// <param name="data"></param>
public void NonSelfGeneratedEmissionLaser(string[] data) public void NonSelfGeneratedEmissionLaser(string[] data)
{ {
//激光位置下发传递
Vector3 vector3 = new Vector3(float.Parse(data[2]), float.Parse(data[3]), float.Parse(data[4])); Vector3 vector3 = new Vector3(float.Parse(data[2]), float.Parse(data[3]), float.Parse(data[4]));
LaserModer.transform.DOLookAt(vector3, 0.1f).OnComplete(() => LaserModer.transform.DOLookAt(vector3, 0.1f).OnComplete(() =>
{ {
@ -550,7 +552,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour
Transform Canvas = GameObject.Find("Canvas").transform; Transform Canvas = GameObject.Find("Canvas").transform;
if (Canvas && Front) if (Canvas && Front)
{ {
crosshair = Instantiate(RawImage, Canvas); crosshair = Instantiate(RawImage, Canvas);
crosshair.transform.position = Camera.main.WorldToScreenPoint(transform.position); crosshair.transform.position = Camera.main.WorldToScreenPoint(transform.position);
} }
} }

View File

@ -10,6 +10,7 @@ using System;
using UnityEngine.UI; using UnityEngine.UI;
using UnityEngine.EventSystems; using UnityEngine.EventSystems;
using UnityEditor.Experimental.GraphView; using UnityEditor.Experimental.GraphView;
using Random = UnityEngine.Random;
/// <summary> /// <summary>
/// 地面无线电干扰控制 /// 地面无线电干扰控制
@ -330,8 +331,8 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
Debug.LogError("驱离"); Debug.LogError("驱离");
unmannedAerialVehicleManage.transform.DOKill(); unmannedAerialVehicleManage.transform.DOKill();
unmannedAerialVehicleManage.transform.LookAt(new Vector3(-500, 160, 1650)); unmannedAerialVehicleManage.transform.LookAt(new Vector3(-500, 160, 1600));
unmannedAerialVehicleManage.transform.DOMove(new Vector3(-500, 160, 1650), 60); unmannedAerialVehicleManage.transform.DOMove(new Vector3(-500, 160, 1600), 60);
} }
else if (InterferenceMode == "迫降" && unmannedAerialVehicleManage != null) else if (InterferenceMode == "迫降" && unmannedAerialVehicleManage != null)
@ -370,7 +371,7 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
if (unmannedAerialVehicleManage != null) if (unmannedAerialVehicleManage != null)
{ {
Vector3 one = unmannedAerialVehicleManage.transform.position - transform.position; Vector3 one = unmannedAerialVehicleManage.transform.position - transform.position;
float angue = Vector3.Angle(transform.forward, one); float angue = Vector3.Angle(one, transform.forward);
if (float.Parse(InterferenceAngle) >= angue) if (float.Parse(InterferenceAngle) >= angue)
{ {
//unmannedAerialVehicleManage.transform.DOKill(); //unmannedAerialVehicleManage.transform.DOKill();
@ -384,6 +385,7 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
Debug.LogError("目标没有出现在范围里面"); Debug.LogError("目标没有出现在范围里面");
} }
} }
} }

View File

@ -247,7 +247,7 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
List<Collider> colliders1 = new List<Collider>(); List<Collider> colliders1 = new List<Collider>();
for (int i = 0; i < colliders.Count; i++) for (int i = 0; i < colliders.Count; i++)
{ {
if (colliders[i].transform.tag == "AttackTarget" || colliders[i].transform.tag== "AttackTarget1") if (colliders[i].transform.tag == "AttackTarget")
colliders1.Add(colliders[i]); colliders1.Add(colliders[i]);
} }
if (colliders1.Count > 0) if (colliders1.Count > 0)