diff --git a/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs b/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs index 90081d9d..f6f0687a 100644 --- a/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs +++ b/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs @@ -262,7 +262,7 @@ public class EquipmentCommon : MonoBehaviour break; case "SingleDronePosition"://无人机攻击目标锁定 UnmannedAerialVehicleManage unmannedAerialVehicleManage = GetComponent(); - if (unmannedAerialVehicleManage) + if (unmannedAerialVehicleManage&& unmannedAerialVehicleManage.wrjModel== WRJModel.自杀式无人机) { for (int i = 0; i < unmannedAerialVehicleManage.unmannedAerialVehicles.Count; i++) { diff --git a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicle.cs b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicle.cs index 8a44cc47..0e688e3c 100644 --- a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicle.cs +++ b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicle.cs @@ -230,6 +230,9 @@ public class UnmannedAerialVehicle : MonoBehaviour } else { + string nowData = GetSyncData(attackTarget); + Debug.Log(nowData); + _ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData)); float distance = Vector3.Distance(transform.position, attackTarget.position); transform.DOMove(attackTarget.position, distance / FireSpeed).SetEase(Ease.Linear).OnComplete(() => { @@ -243,6 +246,7 @@ public class UnmannedAerialVehicle : MonoBehaviour } } + /// /// 远程攻击 /// @@ -253,8 +257,9 @@ public class UnmannedAerialVehicle : MonoBehaviour yield return new WaitForSeconds(5f); GameObject obj = Instantiate(bulletPrefab, bulletPoint.position, bulletPoint.rotation); obj.SetActive(true); - Rigidbody rb = obj.GetComponent(); - rb.AddForce(bulletPoint.forward * 20f, ForceMode.Impulse); + //Rigidbody rb = obj.GetComponent(); + //rb.AddForce(bulletPoint.forward * 20f, ForceMode.Impulse); + obj.transform.DOMove(attackTarget.position, 2).SetEase(Ease.Linear); ShellBoom sb = obj.AddComponent(); sb.isPlayer = unmannedAerialVehicleManage.equipmentCommon.isPlayer; sb.onShellAttack.AddListener(() => @@ -294,5 +299,14 @@ public class UnmannedAerialVehicle : MonoBehaviour return string.Format("{0},{1},{2}", "DroneWasDestroyed", unmannedAerialVehicleManage.equipmentCommon.deviceID, serialNumber); } + /// + /// 无人机攻击目标传递 + /// + /// + protected string GetSyncData(Transform attackTarget) + { + return string.Format("{0},{1},{2},{3},{4}", "SingleDronePosition", unmannedAerialVehicleManage.equipmentCommon.deviceID, + attackTarget.position.x, attackTarget.position.y, attackTarget.position.z); + } } diff --git a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs index 93c2d20c..1fb79860 100644 --- a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs +++ b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs @@ -304,11 +304,11 @@ public class UnmannedAerialVehicleManage : MonoBehaviour var highPriorityTargets = attackColliders1.FindAll(x => x.transform.GetComponent()); if (highPriorityTargets.Count > 0) { - SendMsg(highPriorityTargets[0].transform); + //SendMsg(highPriorityTargets[0].transform); unmannedAerialVehicles[0].AttAck(highPriorityTargets[0].transform); } else{ - SendMsg(attackColliders1[0].transform); + //SendMsg(attackColliders1[0].transform); unmannedAerialVehicles[0].AttAck(attackColliders1[0].transform); }