This commit is contained in:
yulong 2023-12-13 14:37:14 +08:00
parent 17aa410687
commit 3ab059e9b2
2 changed files with 53 additions and 19 deletions

View File

@ -77,6 +77,11 @@ MonoBehaviour:
interval: 2 interval: 2
explodePrefab: {fileID: 1000013462590818, guid: ecdd96beb7f93494880c052dfccf9dc1, explodePrefab: {fileID: 1000013462590818, guid: ecdd96beb7f93494880c052dfccf9dc1,
type: 3} type: 3}
speed: 50
transformpanl: {fileID: 0}
ground:
serializedVersion: 2
m_Bits: 1
--- !u!65 &7099352370737318148 --- !u!65 &7099352370737318148
BoxCollider: BoxCollider:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -80,7 +80,14 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
/// 爆炸预制体 /// 爆炸预制体
/// </summary> /// </summary>
public GameObject explodePrefab; public GameObject explodePrefab;
// Start is called before the first frame update /// <summary>
/// 飞机迫降的速度
/// </summary>
public float speed = 30;
/// <summary>
/// 地面的图层
/// </summary>
public LayerMask ground;
void Start() void Start()
{ {
equipmentCommon = GetComponent<EquipmentCommon>(); equipmentCommon = GetComponent<EquipmentCommon>();
@ -128,7 +135,7 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
//Debug.Log("Timer fired at: " + Time.time); //Debug.Log("Timer fired at: " + Time.time);
yield return new WaitForSeconds(3); // 等待一段时间后继续执行 yield return new WaitForSeconds(3); // 等待一段时间后继续执行
RadioDisturbance(); RadioDisturbance();
Interferencemode(); //Interferencemode();
} }
} }
@ -205,7 +212,7 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
{ {
case "0": case "0":
InterferenceMode = "驱离"; InterferenceMode = "驱离";
break ; break;
case "1": case "1":
InterferenceMode = "迫降"; InterferenceMode = "迫降";
break; break;
@ -253,18 +260,18 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
Collider[] colliders = Physics.OverlapSphere(transform.position, 100);//检索范围 Collider[] colliders = Physics.OverlapSphere(transform.position, 100);//检索范围
for (int i = 0; i < colliders.Length; i++) for (int i = 0; i < colliders.Length; i++)
{ {
if (colliders[i].transform.tag=="WRJ") if (colliders[i].transform.tag == "WRJ")
{ {
UnmannedAerialVehicle unmannedAerialVehicle = colliders[i].GetComponent<UnmannedAerialVehicle>(); UnmannedAerialVehicle unmannedAerialVehicle = colliders[i].GetComponent<UnmannedAerialVehicle>();
if (InterferenceMode=="驱离") if (InterferenceMode == "驱离" && Vector3.Distance(transform.position, unmannedAerialVehicle.transform.position) < 100)
{ {
Debug.LogError(unmannedAerialVehicle.name); Debug.LogError(unmannedAerialVehicle.name);
unmannedAerialVehicle.transform.Translate(Vector3.back*5*Time.deltaTime); unmannedAerialVehicle.transform.Translate(Vector3.back * 50 * Time.deltaTime);
} }
else if (InterferenceMode == "迫降") else if (InterferenceMode == "迫降" && Vector3.Distance(transform.position, unmannedAerialVehicle.transform.position) < 100)
{ {
Debug.LogError(unmannedAerialVehicle.name); Debug.LogError(unmannedAerialVehicle.name);
unmannedAerialVehicle.transform.Translate(Vector3.down * 5 * Time.deltaTime); unmannedAerialVehicle.transform.Translate(Vector3.down * 50 * Time.deltaTime);
} }
} }
} }
@ -286,12 +293,33 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
{ {
//Debug.Log(col.name+"数据链通信频点...:" + unmannedAerialVehicle.dataLinkCommunicationFrequency); //Debug.Log(col.name+"数据链通信频点...:" + unmannedAerialVehicle.dataLinkCommunicationFrequency);
if (unmannedAerialVehicle.dataLinkCommunicationFrequency == "" || InterferingFrequency == "") continue;//无数据不执行 if (unmannedAerialVehicle.dataLinkCommunicationFrequency == "" || InterferingFrequency == "") continue;//无数据不执行
if(unmannedAerialVehicle.dataLinkCommunicationFrequency== InterferingFrequency) if (unmannedAerialVehicle.dataLinkCommunicationFrequency == InterferingFrequency)
{ {
Debug.Log("干扰...:"+ colliders[i].name + "成功。"); Debug.Log("干扰...:" + colliders[i].name + "成功。");
//unmannedAerialVehicle.BeAssaulted("无线电干扰"); //unmannedAerialVehicle.BeAssaulted("无线电干扰");
unmannedAerialVehicles.Enqueue(unmannedAerialVehicle); unmannedAerialVehicles.Enqueue(unmannedAerialVehicle);
} }
else if(InterferenceMode == "驱离" && Vector3.Distance(transform.position,unmannedAerialVehicle.transform.position) < 100)
{
Debug.LogError(unmannedAerialVehicle.name);
unmannedAerialVehicle.transform.Translate(Vector3.back * 50 * Time.deltaTime);
}
else if (InterferenceMode == "迫降" && Vector3.Distance(transform.position,unmannedAerialVehicle.transform.position) < 100)
{
Debug.LogError(unmannedAerialVehicle.name);
RaycastHit hit;
if (Physics.Raycast(unmannedAerialVehicle.transform.position,Vector3.down,out hit,Mathf.Infinity,ground))
{
if (hit.distance>0.5f)
{
unmannedAerialVehicle.transform.Translate(Vector3.down * speed * Time.deltaTime);
}
else
{
speed= 0;
}
}
}
} }
} }
} }
@ -309,8 +337,8 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
Debug.Log(nowData); Debug.Log(nowData);
DeviceManager.Instance.send2roomStr.Enqueue(nowData); DeviceManager.Instance.send2roomStr.Enqueue(nowData);
string currentTime = System.DateTime.Now.ToString(); string currentTime = System.DateTime.Now.ToString();
string _log = currentTime + " " + equipmentCommon.equipmentType + "(" + equipmentCommon.deviceID + ")"+ string _log = currentTime + " " + equipmentCommon.equipmentType + "(" + equipmentCommon.deviceID + ")" +
"攻击了销毁了"+ unmannedAerialVehicle.unmannedAerialVehicleManage.equipmentCommon.equipmentType + "(" + unmannedAerialVehicle.unmannedAerialVehicleManage.equipmentCommon.deviceID + ")" "攻击了销毁了" + unmannedAerialVehicle.unmannedAerialVehicleManage.equipmentCommon.equipmentType + "(" + unmannedAerialVehicle.unmannedAerialVehicleManage.equipmentCommon.deviceID + ")"
+ "编号" + unmannedAerialVehicle.serialNumber + "子无人机"; + "编号" + unmannedAerialVehicle.serialNumber + "子无人机";
UploadLog(_log); UploadLog(_log);
GameObject Bao = Instantiate(explodePrefab, unmannedAerialVehicle.transform); GameObject Bao = Instantiate(explodePrefab, unmannedAerialVehicle.transform);
@ -338,7 +366,8 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
WWWForm wWWForm = new WWWForm(); WWWForm wWWForm = new WWWForm();
wWWForm.AddField("data", uploadLogMainJson); wWWForm.AddField("data", uploadLogMainJson);
Debug.Log(uploadLogMainJson); Debug.Log(uploadLogMainJson);
StartCoroutine(PostString(Url_Addpracticelog, wWWForm, data => { StartCoroutine(PostString(Url_Addpracticelog, wWWForm, data =>
{
Debug.Log(data); Debug.Log(data);
})); }));
} }