攻击目标

This commit is contained in:
账号名 2023-11-23 14:54:12 +08:00
parent cd148c30b5
commit 28e5546467
2 changed files with 25 additions and 17 deletions

View File

@ -82,7 +82,7 @@ public class EquipmentCommon : MonoBehaviour
latestData = GetSyncData();
InvokeRepeating("SendMsg", 0, 0.01f);
UnmannedAerialVehicleManage unmannedAerialVehicleManage = GetComponent<UnmannedAerialVehicleManage>();
unmannedAerialVehicleManage.unmannedAerialVehicles.ForEach(x => x.AddSendMsg());//每个无人机位置传递开启
//unmannedAerialVehicleManage.unmannedAerialVehicles.ForEach(x => x.AddSendMsg());//每个无人机位置传递开启
}
}
/// <summary>
@ -214,10 +214,8 @@ public class EquipmentCommon : MonoBehaviour
UnmannedAerialVehicle unmannedAerialVehicle = unmannedAerialVehicleManage.unmannedAerialVehicles.Find(x => x.serialNumber == data[2]);
if (unmannedAerialVehicle)
{
Vector3 localPos = new Vector3(float.Parse(data[3]), float.Parse(data[4]), float.Parse(data[5]));
Vector3 localRot = new Vector3(float.Parse(data[6]), float.Parse(data[7]), float.Parse(data[8]));
unmannedAerialVehicle.transform.localPosition = localPos;
unmannedAerialVehicle.transform.localEulerAngles = localRot;
Vector3 Pos = new Vector3(float.Parse(data[3]), float.Parse(data[4]), float.Parse(data[5]));
unmannedAerialVehicle.AttAck(Pos);
}
}
break;

View File

@ -123,6 +123,7 @@ public class UnmannedAerialVehicle : MonoBehaviour
{
Debug.Log("开始攻击目标..:" + target.name);
Vector3 _v3 = target.position;
SendMsg(target);
transform.DOLookAt(_v3, 0.1f).OnComplete(() =>
{
float distance = Vector3.Distance(transform.position, target.position);
@ -136,6 +137,20 @@ public class UnmannedAerialVehicle : MonoBehaviour
});
}
/// <summary>
/// 发起攻击
/// </summary>
public void AttAck(Vector3 target)
{
transform.DOLookAt(target, 0.1f).OnComplete(() =>
{
float distance = Vector3.Distance(transform.position, target);
transform.DOMove(target, distance / FireSpeed).SetEase(Ease.Linear).OnComplete(() =>
{
});
});
}
private void OnTriggerEnter(Collider other)
{
@ -248,14 +263,10 @@ public class UnmannedAerialVehicle : MonoBehaviour
//位置实时传送
private string latestData = "";
public void AddSendMsg()
public void SendMsg(Transform attackTarget)
{
latestData = GetSyncData();
InvokeRepeating("SendMsg", 0, 0.01f);
}
public void SendMsg()
{
var nowData = GetSyncData();
var nowData = GetSyncData(attackTarget);
if (!nowData.Equals(latestData))
{
latestData = nowData;
@ -266,14 +277,13 @@ public class UnmannedAerialVehicle : MonoBehaviour
/// <summary>
/// 单个无人机位置传递
/// 单个无人机攻击目标传递
/// </summary>
/// <returns></returns>
protected string GetSyncData()
protected string GetSyncData(Transform attackTarget)
{
return string.Format("{0},{1},{2},{3},{4},{5},{6},{7},{8}", "SingleDronePosition", unmannedAerialVehicleManage.equipmentCommon.deviceID, serialNumber,
transform.localPosition.x, transform.localPosition.y, transform.localPosition.z,
transform.localEulerAngles.x, transform.localEulerAngles.y, transform.localEulerAngles.z);
return string.Format("{0},{1},{2},{3},{4},{5}", "SingleDronePosition", unmannedAerialVehicleManage.equipmentCommon.deviceID, serialNumber,
attackTarget.position.x, attackTarget.position.y, attackTarget.position.z);
}