diff --git a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicle.cs b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicle.cs index 52bb312d..e85df8c4 100644 --- a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicle.cs +++ b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicle.cs @@ -65,13 +65,13 @@ public class UnmannedAerialVehicle : MonoBehaviour /// 检测范围半径 /// public float detectionRadius = 50; // - + /// /// 爆炸预制体 /// public GameObject explodePrefab; - + public Transform attackTarget; private void OnTriggerEnter(Collider other) { if (unmannedAerialVehicleManage.equipmentCommon.isPlayer && other.tag == "AttackTarget") @@ -84,9 +84,9 @@ public class UnmannedAerialVehicle : MonoBehaviour } /// - /// 设置无人机类型 - /// - /// + /// 设置无人机类型 + /// + /// public void SetWRJModel(WRJModel _wrjModel) { wrjModel = _wrjModel; @@ -132,7 +132,7 @@ public class UnmannedAerialVehicle : MonoBehaviour /// public void AddBao(bool isPassMessage) { - + if (isPassMessage) { string nowData = GetSyncDis(); @@ -140,7 +140,7 @@ public class UnmannedAerialVehicle : MonoBehaviour //_ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData)); DeviceManager.Instance.send2roomStr.Enqueue(nowData); string currentTime = System.DateTime.Now.ToString(); - string _log= currentTime + " " + unmannedAerialVehicleManage.equipmentCommon.equipmentType + "(" + unmannedAerialVehicleManage.equipmentCommon.deviceID + ")" + string _log = currentTime + " " + unmannedAerialVehicleManage.equipmentCommon.equipmentType + "(" + unmannedAerialVehicleManage.equipmentCommon.deviceID + ")" + "编号" + serialNumber + "子无人机" + "自杀式攻击自爆了"; UploadLog(_log); } @@ -148,7 +148,7 @@ public class UnmannedAerialVehicle : MonoBehaviour Bao.transform.localPosition = Vector3.zero; Bao.transform.SetParent(null); Bao.SetActive(true); - + Destroy(gameObject); } @@ -158,19 +158,20 @@ public class UnmannedAerialVehicle : MonoBehaviour /// public void UploadLog(string _log) { - + List uploadLogMains = new List(); UploadLogMain uploadLogMain = new UploadLogMain(); uploadLogMain.PracticeId = GlobalFlag.practiceSubjectID; uploadLogMain.ThinkId = GlobalFlag.currentThinkId; - string log = + string log = uploadLogMain.log = _log; uploadLogMains.Add(uploadLogMain); string uploadLogMainJson = JsonConvert.SerializeObject(uploadLogMains); WWWForm wWWForm = new WWWForm(); wWWForm.AddField("data", uploadLogMainJson); Debug.Log(uploadLogMainJson); - StartCoroutine(PostString(Url_Addpracticelog, wWWForm, data => { + StartCoroutine(PostString(Url_Addpracticelog, wWWForm, data => + { Debug.Log(data); })); } @@ -187,14 +188,15 @@ public class UnmannedAerialVehicle : MonoBehaviour _ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData)); string currentTime = System.DateTime.Now.ToString(); string _log = currentTime + " " + unmannedAerialVehicleManage.equipmentCommon.equipmentType + "(" + unmannedAerialVehicleManage.equipmentCommon.deviceID + ")" - + "编号" + serialNumber + "子无人机" + "攻击摧毁了"+ _equipmentCommon.equipmentType + "(" + _equipmentCommon.deviceID + ")"; + + "编号" + serialNumber + "子无人机" + "攻击摧毁了" + _equipmentCommon.equipmentType + "(" + _equipmentCommon.deviceID + ")"; UploadLog(_log); - WWWForm headers = new WWWForm(); + WWWForm headers = new WWWForm(); headers.AddField("id", _equipmentCommon.deviceID); - //StartCoroutine(PostString(Url_Deletepracticedevicedetail, headers, data => { - // //Debug.Log(data); - //})); + StartCoroutine(PostString(Url_Deletepracticedevicedetail, headers, data => + { + //Debug.Log(data); + })); GameObject Bao = Instantiate(explodePrefab, _transform); Bao.transform.localPosition = Vector3.zero; Bao.transform.SetParent(null); @@ -218,20 +220,24 @@ public class UnmannedAerialVehicle : MonoBehaviour /// public void AttAck(Transform target) { - Debug.Log("开始攻击目标..:" + target.name); - Vector3 _v3 = target.position; - - transform.DOLookAt(_v3, 0.1f).OnComplete(() => + if (attackTarget == null) { - float distance = Vector3.Distance(transform.position, target.position); - transform.DOMove(target.position, distance / FireSpeed).SetEase(Ease.Linear).OnComplete(() => + transform.DOKill(); + attackTarget = target; + Debug.Log("开始攻击目标..:" + target.name); + Vector3 _v3 = target.position; + transform.DOLookAt(_v3, 0.1f).OnComplete(() => { - if (!target) + float distance = Vector3.Distance(transform.position, target.position); + transform.DOMove(target.position, distance / FireSpeed).SetEase(Ease.Linear).OnComplete(() => { - BeAssaulted("没有攻击到目标"); - } + if (!target) + { + BeAssaulted("没有攻击到目标"); + } + }); }); - }); + } } /// diff --git a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs index 523c1966..937a3356 100644 --- a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs +++ b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs @@ -275,7 +275,7 @@ public class UnmannedAerialVehicleManage : MonoBehaviour /// private void SelectiveAttackDrone() { - if (isEngagedTarget) return; + //if (isEngagedTarget) return; if (wrjModel == WRJModel.电子侦察无人机 || wrjModel == WRJModel.光学无人机) { List colliders = Physics.OverlapSphere(transform.position, detectionRadius).ToList(); // 检索范围内的所有碰撞体 @@ -290,7 +290,7 @@ public class UnmannedAerialVehicleManage : MonoBehaviour { if (attackColliders1.Count > 0) { - isEngagedTarget = true; + //isEngagedTarget = true; //colliders1.ForEach(x => Debug.Log(x.transform.name)); int _number = UnityEngine.Random.Range(0, attackColliders1.Count - 1); List _unmannedAerialVehicles = unmannedAerialVehicles.FindAll(x => x != null && x.gameObject.activeSelf);