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 propertyPath: m_Layer
value: 11 value: 11
objectReference: {fileID: 0} 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, - target: {fileID: 7633175810598794496, guid: 088baeb890d17754287a1161c0b1dceb,
type: 3} type: 3}
propertyPath: m_Layer propertyPath: m_Layer

View File

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

View File

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

View File

@ -301,73 +301,36 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
/// </summary> /// </summary>
public void Interferencemode(Transform wrj) public void Interferencemode(Transform wrj)
{ {
Collider[] colliders = Physics.OverlapSphere(transform.position, detectionRadius * 100);//检索范围 //Collider[] colliders = Physics.OverlapSphere(transform.position, detectionRadius * 100);//检索范围
UnmannedAerialVehicle unmannedAerialVehicle = null; //UnmannedAerialVehicle unmannedAerialVehicle = null;
if (wrj.GetComponent<UnmannedAerialVehicle>())
{
unmannedAerialVehicle = wrj.GetComponent<UnmannedAerialVehicle>();
}
UnmannedAerialVehicleManage unmannedAerialVehicleManage = null; UnmannedAerialVehicleManage unmannedAerialVehicleManage = null;
//if (wrj.GetComponent<UnmannedAerialVehicle>())
//{
// unmannedAerialVehicle = wrj.GetComponent<UnmannedAerialVehicle>();
//}
if (wrj.GetComponent<UnmannedAerialVehicleManage>()) if (wrj.GetComponent<UnmannedAerialVehicleManage>())
{ {
unmannedAerialVehicleManage = wrj.GetComponent<UnmannedAerialVehicleManage>(); unmannedAerialVehicleManage = wrj.GetComponent<UnmannedAerialVehicleManage>();
unmannedAerialVehicleManage.CheckSatellitePositioningFrequency(this.transform, InterferenceMode, TransmittedPower, InterferingFrequency, InterferenceAngle, ground); unmannedAerialVehicleManage.CheckSatellitePositioningFrequency(this.transform, InterferenceMode, TransmittedPower, InterferingFrequency, InterferenceAngle, ground);
} }
isDo = false; isDo = true;
}
/// <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("目标没有出现在范围里面");
}
}
}
} }
/// <summary> /// <summary>
/// 开启无线电干扰 /// 开启无线电干扰
/// </summary> /// </summary>
public void RadioDisturbance() 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++) for (int i = 0; i < colliders.Length; i++)
{ {
if (colliders[i].transform.tag == "WRJ") if (colliders[i].transform.tag == "WRJ")
{ {
UnmannedAerialVehicleManage unmannedAerialVehicleManage = colliders[i].GetComponent<UnmannedAerialVehicleManage>();
//Debug.Log("检测到无人机: " + col.name); //Debug.Log("检测到无人机: " + col.name);
UnmannedAerialVehicle unmannedAerialVehicle = colliders[i].GetComponent<UnmannedAerialVehicle>(); 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) if (unmannedAerialVehicleManage)
{ {
//Debug.Log(col.name+"数据链通信频点...:" + unmannedAerialVehicle.dataLinkCommunicationFrequency); //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; 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>()); var highPriorityTargets = attackColliders1.FindAll(x => x.transform.GetComponent<HighPriorityTarget>());
if (highPriorityTargets.Count > 0) if (highPriorityTargets.Count > 0)
{ {
//SendMsg(highPriorityTargets[0].transform);
unmannedAerialVehicles[0].AttAck(highPriorityTargets[0].transform); unmannedAerialVehicles[0].AttAck(highPriorityTargets[0].transform);
} }
else{ else
//SendMsg(attackColliders1[0].transform); {
unmannedAerialVehicles[0].AttAck(attackColliders1[0].transform); 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);
// }
//}
} }
} }
} }