设备功能微调

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", "");
Debug.LogError("设备..:" + data);
string[] info = data.Split(',');
foreach (string s in info)
{
Debug.LogError(s);
}
if (info.Length < 2) return;
EquipmentCommon equipmentCommon = devices.Find(x => x.deviceID == info[1]);

View File

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

View File

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

View File

@ -247,7 +247,7 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
List<Collider> colliders1 = new List<Collider>();
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]);
}
if (colliders1.Count > 0)