攻击目标
This commit is contained in:
parent
cd148c30b5
commit
28e5546467
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue