This commit is contained in:
YangHua 2024-01-23 15:34:40 +08:00
commit 20017077d1
5 changed files with 50 additions and 74 deletions

View File

@ -58,7 +58,7 @@ Camera:
far clip plane: 500
field of view: 60
orthographic: 1
orthographic size: 300
orthographic size: 500
m_Depth: 0
m_CullingMask:
serializedVersion: 2

View File

@ -155,28 +155,34 @@ public class EquipmentCommon : MonoBehaviour
case "激光火控平台":
LaserFireControlPlatformManger laserFireControlPlatformManger = GetComponent<LaserFireControlPlatformManger>();
laserFireControlPlatformManger.FillInTheData(weaponitemone);
laserFireControlPlatformManger.isStartRehearsing = isStartRehearsing;
//laserFireControlPlatformManger.isStartRehearsing = isStartRehearsing;
break;
case "探测雷达":
RadarManger radarManger = GetComponent<RadarManger>();
radarManger.FillInTheData(weaponitemone);
radarManger.isStartRehearsing = isStartRehearsing;
break;
case "地面无线电干扰":
TerrestrialRadioInterferenceManger terrestrialRadioInterferenceManger = GetComponent<TerrestrialRadioInterferenceManger>();
terrestrialRadioInterferenceManger.FillInTheData(weaponitemone);
terrestrialRadioInterferenceManger.isStartRehearsing = isStartRehearsing;
break;
case "蜂群无人机":
UnmannedAerialVehicleManage unmannedAerialVehicleManage = GetComponent<UnmannedAerialVehicleManage>();
unmannedAerialVehicleManage.MatrixFormation(30, 1);
unmannedAerialVehicleManage.FillInTheData(weaponitemone);
unmannedAerialVehicleManage.isStartRehearsing = isStartRehearsing;
break;
case "频谱探测":
Spectrumdetection spectrumdetection = GetComponent<Spectrumdetection>();
spectrumdetection.FillInTheData(weaponitemone);
spectrumdetection.isStartRehearsing = isStartRehearsing;
break;
case "微波武器":
Microwaveweapon microwaveweapon = GetComponent<Microwaveweapon>();
microwaveweapon.FillInTheData(weaponitemone);
microwaveweapon.isStartRehearsing = isStartRehearsing;
break;
default:
break;

View File

@ -168,8 +168,6 @@ public class LaserFireControlPlatformManger : MonoBehaviour
InnerLaserlineRenderer.SetPosition(1, LaserPoint.transform.position); // 设置线段终点为目标点
}
GameObject _OuterLaserlineRenderer = Instantiate(OuterLaserlineRendererPrefab);
_OuterLaserlineRenderer.transform.position = Vector3.zero;
OuterLaserlineRenderer = _OuterLaserlineRenderer.GetComponent<LineRenderer>();
@ -274,21 +272,7 @@ public class LaserFireControlPlatformManger : MonoBehaviour
Debug.LogError("没有目标");
}
}
///// <summary>
///// 十字准星架视角
///// </summary>
//public void Crosshair()
//{
// if (targetPoint != null)
// {
// camera.transform.DOLookAt(targetPoint.position, 0.5f).SetEase(Ease.Linear).OnComplete(() =>
// {
// Debug.LogError("看向进来了");
// Launchanattack();
// });
// }
//}
/// <summary>
/// 激光显示
/// </summary>

View File

@ -140,8 +140,8 @@ public class RadarManger : MonoBehaviour
// Update is called once per frame
void Update()
{
if (equipmentCommon.isPlayer)
RetrievalUAV();//看向无人机
//if (equipmentCommon.isPlayer)
// RetrievalUAV();//看向无人机
}
#region
/// <summary>
@ -169,7 +169,7 @@ public class RadarManger : MonoBehaviour
{
//Debug.Log("Timer fired at: " + Time.time);
yield return new WaitForSeconds(5); // 等待一段时间后继续执行
//RetrievalUAV();
RetrievalUAV();
}
}

View File

@ -105,16 +105,11 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
// Update is called once per frame
void Update()
{
if (unmannedAerialVehicles.Count > 0 && isDo)
if (WRJs.Count > 0 && isDo)
{
isDo = false;
UnmannedAerialVehicle unmannedAerialVehicle = unmannedAerialVehicles.Dequeue();
Vector3 _pos = unmannedAerialVehicle.transform.position - new Vector3(0, 50, 0);
unmannedAerialVehicle.transform.LookAt(_pos);
unmannedAerialVehicle.transform.DOMove(_pos, 1).OnComplete(() =>
{
AddBao(unmannedAerialVehicle);
});
Transform wrj = WRJs.Dequeue();
Interferencemode(wrj);
}
//Interferencemode();
//Angularrange();
@ -122,7 +117,7 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
void LateUpdate()
{
Detection();
Interferencemode();
}
/// <summary>
/// 点击无线电显示UI
@ -203,7 +198,14 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
}
}
#endregion
/// <summary>
/// 检索到的同频段无人机
/// </summary>
Queue<Transform> WRJs = new Queue<Transform>();
/// <summary>
/// 逐个驱离
/// </summary>
private bool isDo = true;
/// <summary>
/// 数据写入
/// </summary>
@ -297,28 +299,21 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
/// <summary>
/// 干扰模式
/// </summary>
public void Interferencemode()
public void Interferencemode(Transform wrj)
{
Collider[] colliders = Physics.OverlapSphere(transform.position, detectionRadius * 100);//检索范围
for (int i = 0; i < colliders.Length; i++)
UnmannedAerialVehicle unmannedAerialVehicle = null;
if (wrj.GetComponent<UnmannedAerialVehicle>())
{
if (colliders[i].transform.tag == "WRJ")
{
UnmannedAerialVehicle unmannedAerialVehicle = null;
if (colliders[i].GetComponent<UnmannedAerialVehicle>())
{
unmannedAerialVehicle = colliders[i].GetComponent<UnmannedAerialVehicle>();
}
UnmannedAerialVehicleManage unmannedAerialVehicleManage = null;
if (colliders[i].GetComponent<UnmannedAerialVehicleManage>())
{
unmannedAerialVehicleManage = colliders[i].GetComponent<UnmannedAerialVehicleManage>();
unmannedAerialVehicleManage.CheckSatellitePositioningFrequency(this.transform, InterferenceMode, TransmittedPower, InterferingFrequency, InterferenceAngle, ground);
}
}
unmannedAerialVehicle = wrj.GetComponent<UnmannedAerialVehicle>();
}
UnmannedAerialVehicleManage unmannedAerialVehicleManage = null;
if (wrj.GetComponent<UnmannedAerialVehicleManage>())
{
unmannedAerialVehicleManage = wrj.GetComponent<UnmannedAerialVehicleManage>();
unmannedAerialVehicleManage.CheckSatellitePositioningFrequency(this.transform, InterferenceMode, TransmittedPower, InterferingFrequency, InterferenceAngle, ground);
}
isDo = false;
}
/// <summary>
/// 干扰无人机角度范围
@ -368,7 +363,20 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
{
Debug.Log("干扰...:" + colliders[i].name + "成功。");
//unmannedAerialVehicle.BeAssaulted("无线电干扰");
unmannedAerialVehicles.Enqueue(unmannedAerialVehicle);
WRJs.Enqueue(unmannedAerialVehicle.transform);
}
}
UnmannedAerialVehicleManage unmannedAerialVehicleManage = colliders[i].GetComponent<UnmannedAerialVehicleManage>();
if (unmannedAerialVehicleManage)
{
//Debug.Log(col.name+"数据链通信频点...:" + unmannedAerialVehicle.dataLinkCommunicationFrequency);
if (unmannedAerialVehicleManage.dataLinkCommunicationFrequency == "" || InterferingFrequency == "") continue;//无数据不执行
if (unmannedAerialVehicleManage.dataLinkCommunicationFrequency == InterferingFrequency)
{
Debug.Log("干扰...:" + colliders[i].name + "成功。");
//unmannedAerialVehicle.BeAssaulted("无线电干扰");
WRJs.Enqueue(unmannedAerialVehicleManage.transform);
}
}
@ -376,29 +384,7 @@ public class TerrestrialRadioInterferenceManger : MonoBehaviour
}
}
Queue<UnmannedAerialVehicle> unmannedAerialVehicles = new Queue<UnmannedAerialVehicle>();
private bool isDo = true;
/// <summary>
/// 销毁单体无人机
/// </summary>
public void AddBao(UnmannedAerialVehicle unmannedAerialVehicle)
{
string nowData = GetSyncDis(unmannedAerialVehicle);
Debug.Log(nowData);
DeviceManager.Instance.send2roomStr.Enqueue(nowData);
string currentTime = System.DateTime.Now.ToString();
string _log = currentTime + " " + equipmentCommon.equipmentType + "(" + equipmentCommon.deviceID + ")" +
"攻击了销毁了" + unmannedAerialVehicle.unmannedAerialVehicleManage.equipmentCommon.equipmentType + "(" + unmannedAerialVehicle.unmannedAerialVehicleManage.equipmentCommon.deviceID + ")"
+ "编号" + unmannedAerialVehicle.serialNumber + "子无人机";
UploadLog(_log);
GameObject Bao = Instantiate(explodePrefab, unmannedAerialVehicle.transform);
Bao.transform.localPosition = Vector3.zero;
Bao.transform.SetParent(null);
Bao.SetActive(true);
Destroy(unmannedAerialVehicle.gameObject);
isDo = true;
}
/// <summary>
///上传日志