This commit is contained in:
账号名 2024-01-23 15:35:24 +08:00
parent 73bbaddb4c
commit 333d9f113f
5 changed files with 78 additions and 68 deletions

View File

@ -10983,6 +10983,21 @@ PrefabInstance:
propertyPath: m_Layer
value: 11
objectReference: {fileID: 0}
- target: {fileID: 7591063048475770342, guid: 088baeb890d17754287a1161c0b1dceb,
type: 3}
propertyPath: m_LocalScale.x
value: 2
objectReference: {fileID: 0}
- target: {fileID: 7591063048475770342, guid: 088baeb890d17754287a1161c0b1dceb,
type: 3}
propertyPath: m_LocalScale.y
value: 2
objectReference: {fileID: 0}
- target: {fileID: 7591063048475770342, guid: 088baeb890d17754287a1161c0b1dceb,
type: 3}
propertyPath: m_LocalScale.z
value: 2
objectReference: {fileID: 0}
- target: {fileID: 7633175810598794496, guid: 088baeb890d17754287a1161c0b1dceb,
type: 3}
propertyPath: m_Layer

View File

@ -5,7 +5,7 @@ using UnityEngine;
public class Mastermanagement : MonoBehaviour
{
public List<DragController> dragControllers = new List<DragController>();//蓝方设备用于存UI元素
public List<GameObject> weapongames = new List<GameObject>();//蓝方设备用于存储场景中的物体
void Awake()
@ -17,7 +17,7 @@ public class Mastermanagement : MonoBehaviour
StartCoroutine(WaitGetAllDevice());
}
//蓝方设备
private IEnumerator WaitGetAllDevice()
public IEnumerator WaitGetAllDevice()
{
yield return new WaitForSeconds(0.1f);
Debug.Log("wew");
@ -50,7 +50,7 @@ public class Mastermanagement : MonoBehaviour
{
for (int i = 0; i < dragControllers.Count; i++)
{
if (dragControllers[i].gameObject.name == game.name && !dragControllers[i].gameObject.activeSelf)
if (dragControllers[i].gameObject.name == game.name && dragControllers[i].gameObject.activeSelf)
{
dragControllers[i].gameObject.SetActive(false);
break;

View File

@ -60,6 +60,13 @@ public class DeviceManager : MonoSingleton<DeviceManager>
isOnlyOne = false;
StartCoroutine(DequeueSend2roomStr());
}
#if UNITY_EDITOR
if (Input.GetKeyDown(KeyCode.Space))
{
isStartRehearsing = !isStartRehearsing;
Debug.Log("编辑器测试...导条状态..:" + isStartRehearsing);
}
#endif
}
IEnumerator DequeueSend2roomStr()

View File

@ -301,73 +301,36 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
/// </summary>
public void Interferencemode(Transform wrj)
{
Collider[] colliders = Physics.OverlapSphere(transform.position, detectionRadius * 100);//检索范围
UnmannedAerialVehicle unmannedAerialVehicle = null;
if (wrj.GetComponent<UnmannedAerialVehicle>())
{
unmannedAerialVehicle = wrj.GetComponent<UnmannedAerialVehicle>();
}
//Collider[] colliders = Physics.OverlapSphere(transform.position, detectionRadius * 100);//检索范围
//UnmannedAerialVehicle unmannedAerialVehicle = null;
UnmannedAerialVehicleManage unmannedAerialVehicleManage = null;
//if (wrj.GetComponent<UnmannedAerialVehicle>())
//{
// unmannedAerialVehicle = wrj.GetComponent<UnmannedAerialVehicle>();
//}
if (wrj.GetComponent<UnmannedAerialVehicleManage>())
{
unmannedAerialVehicleManage = wrj.GetComponent<UnmannedAerialVehicleManage>();
unmannedAerialVehicleManage.CheckSatellitePositioningFrequency(this.transform, InterferenceMode, TransmittedPower, InterferingFrequency, InterferenceAngle, ground);
}
isDo = false;
}
/// <summary>
/// 干扰无人机角度范围
/// </summary>
/// <exception cref="NotImplementedException"></exception>
private void Angularrange()
{
Collider[] collider = Physics.OverlapSphere(transform.position, 300);
for (int i = 0; i < collider.Length; i++)
{
if (collider[i].transform.tag == "WRJ")
{
UnmannedAerialVehicle unmannedAerialVehicle = collider[i].GetComponent<UnmannedAerialVehicle>();
Vector3 one = unmannedAerialVehicle.transform.position - transform.position;
float angue = Vector3.Angle(transform.forward, one);
if (float.Parse(InterferenceAngle) >= angue)
{
Debug.LogError("目标出现在范围内");
}
else
{
Debug.LogError("目标没有出现在范围里面");
}
}
}
isDo = true;
}
/// <summary>
/// 开启无线电干扰
/// </summary>
public void RadioDisturbance()
{
Collider[] colliders = Physics.OverlapSphere(transform.position, detectionRadius); // 检索范围内的所有碰撞体
Collider[] colliders = Physics.OverlapSphere(transform.position, detectionRadius * 1000 / 5);// 检索范围内的所有碰撞体
for (int i = 0; i < colliders.Length; i++)
{
if (colliders[i].transform.tag == "WRJ")
{
UnmannedAerialVehicleManage unmannedAerialVehicleManage = colliders[i].GetComponent<UnmannedAerialVehicleManage>();
//Debug.Log("检测到无人机: " + col.name);
UnmannedAerialVehicle unmannedAerialVehicle = colliders[i].GetComponent<UnmannedAerialVehicle>();
if (unmannedAerialVehicle)
{
//Debug.Log(col.name+"数据链通信频点...:" + unmannedAerialVehicle.dataLinkCommunicationFrequency);
if (unmannedAerialVehicle.dataLinkCommunicationFrequency == "" || InterferingFrequency == "") continue;//无数据不执行
if (unmannedAerialVehicle.dataLinkCommunicationFrequency == InterferingFrequency)
{
Debug.Log("干扰...:" + colliders[i].name + "成功。");
//unmannedAerialVehicle.BeAssaulted("无线电干扰");
WRJs.Enqueue(unmannedAerialVehicle.transform);
}
}
UnmannedAerialVehicleManage unmannedAerialVehicleManage = colliders[i].GetComponent<UnmannedAerialVehicleManage>();
if (unmannedAerialVehicleManage)
{
//Debug.Log(col.name+"数据链通信频点...:" + unmannedAerialVehicle.dataLinkCommunicationFrequency);
@ -380,6 +343,18 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
}
}
else if (unmannedAerialVehicle)
{
//Debug.Log(col.name+"数据链通信频点...:" + unmannedAerialVehicle.dataLinkCommunicationFrequency);
if (unmannedAerialVehicle.dataLinkCommunicationFrequency == "" || InterferingFrequency == "") continue;//无数据不执行
if (unmannedAerialVehicle.dataLinkCommunicationFrequency == InterferingFrequency)
{
Debug.Log("干扰...:" + colliders[i].name + "成功。");
//unmannedAerialVehicle.BeAssaulted("无线电干扰");
WRJs.Enqueue(unmannedAerialVehicle.transform);
}
}
}
}
}
@ -422,4 +397,32 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
{
OnActivationChanged -= OnActivationChangedHandler;
}
/// <summary>
/// 干扰无人机角度范围
/// </summary>
/// <exception cref="NotImplementedException"></exception>
private void Angularrange()
{
Collider[] collider = Physics.OverlapSphere(transform.position, 300);
for (int i = 0; i < collider.Length; i++)
{
if (collider[i].transform.tag == "WRJ")
{
UnmannedAerialVehicle unmannedAerialVehicle = collider[i].GetComponent<UnmannedAerialVehicle>();
Vector3 one = unmannedAerialVehicle.transform.position - transform.position;
float angue = Vector3.Angle(transform.forward, one);
if (float.Parse(InterferenceAngle) >= angue)
{
//Debug.LogError("目标出现在范围内");
}
else
{
//Debug.LogError("目标没有出现在范围里面");
}
}
}
}
}

View File

@ -304,27 +304,12 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
var highPriorityTargets = attackColliders1.FindAll(x => x.transform.GetComponent<HighPriorityTarget>());
if (highPriorityTargets.Count > 0)
{
//SendMsg(highPriorityTargets[0].transform);
unmannedAerialVehicles[0].AttAck(highPriorityTargets[0].transform);
}
else{
//SendMsg(attackColliders1[0].transform);
else
{
unmannedAerialVehicles[0].AttAck(attackColliders1[0].transform);
}
//for (int i = 0; i < attackColliders1.Count; i++)
//{
// Collider c = null;
// if (attackColliders1[i] != null)
// {
// c = attackColliders1[i];
// }
// if (unmannedAerialVehicles[0]&&unmannedAerialVehicles[0].attackTarget == null)
// {
// SendMsg(c.transform);
// unmannedAerialVehicles[0].AttAck(c.transform);
// }
//}
}
}
}