This commit is contained in:
YangHua 2024-01-19 16:18:00 +08:00
parent 4ff4d87b90
commit ff95a85b05
2 changed files with 34 additions and 28 deletions

View File

@ -65,13 +65,13 @@ public class UnmannedAerialVehicle : MonoBehaviour
/// 检测范围半径
/// </summary>
public float detectionRadius = 50; //
/// <summary>
/// 爆炸预制体
/// </summary>
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
}
/// <summary>
/// 设置无人机类型
/// </summary>
/// <param name="wrjModel"></param>
/// 设置无人机类型
/// </summary>
/// <param name="wrjModel"></param>
public void SetWRJModel(WRJModel _wrjModel)
{
wrjModel = _wrjModel;
@ -132,7 +132,7 @@ public class UnmannedAerialVehicle : MonoBehaviour
/// </summary>
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
/// <param name="deviceID"></param>
public void UploadLog(string _log)
{
List<UploadLogMain> uploadLogMains = new List<UploadLogMain>();
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
/// </summary>
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("没有攻击到目标");
}
});
});
});
}
}
/// <summary>

View File

@ -275,7 +275,7 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
/// </summary>
private void SelectiveAttackDrone()
{
if (isEngagedTarget) return;
//if (isEngagedTarget) return;
if (wrjModel == WRJModel. || wrjModel == WRJModel.)
{
List<Collider> 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<UnmannedAerialVehicle> _unmannedAerialVehicles = unmannedAerialVehicles.FindAll(x => x != null && x.gameObject.activeSelf);