From 27c1944e78ce5db10c841cc0b79021d1757bf16c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E5=90=8D?= <3077614386@qq.com> Date: Sat, 27 Jan 2024 18:08:12 +0800 Subject: [PATCH] 1 --- .../Prefebs/Models/moder/无人机List.prefab | 111 ++++---- Assets/Resources/model/重点攻击目标1.prefab | 2 +- Assets/Zion/Scripts/Adam/GameManager.cs | 18 ++ Assets/Zion/Scripts/HighPriorityTarget.cs | 39 ++- .../Scripts/ModelFunction/EquipmentCommon.cs | 1 + .../UAV/UnmannedAerialVehicleManage.cs | 241 ++++++++++-------- 6 files changed, 253 insertions(+), 159 deletions(-) diff --git a/Assets/GameAssets/Prefebs/Models/moder/无人机List.prefab b/Assets/GameAssets/Prefebs/Models/moder/无人机List.prefab index ea2e536d..4677c38a 100644 --- a/Assets/GameAssets/Prefebs/Models/moder/无人机List.prefab +++ b/Assets/GameAssets/Prefebs/Models/moder/无人机List.prefab @@ -667,6 +667,7 @@ MonoBehaviour: opticalReconnaissanceCapability: 1 FrequencyBand: {fileID: 7049978149805136275} SurveillanceFrequencyBand: {fileID: 6513129680526216908} + gamePos: {fileID: 392167392884716949} attackColliders1: [] currentCollider: {fileID: 0} layerMask: @@ -2260,42 +2261,6 @@ PrefabInstance: - {fileID: 5839716182141322363, guid: 38fb1def99b2cd147a96842efe5a355b, type: 3} - {fileID: 2022963561981901188, guid: 38fb1def99b2cd147a96842efe5a355b, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 38fb1def99b2cd147a96842efe5a355b, type: 3} ---- !u!114 &5373553619706430310 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 438240288241169162, guid: 38fb1def99b2cd147a96842efe5a355b, - type: 3} - m_PrefabInstance: {fileID: 5514169232507334764} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &110317182079341201 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 5548909004573041405, guid: 38fb1def99b2cd147a96842efe5a355b, - type: 3} - m_PrefabInstance: {fileID: 5514169232507334764} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &6262023449843827082 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 1900922108148937190, guid: 38fb1def99b2cd147a96842efe5a355b, - type: 3} - m_PrefabInstance: {fileID: 5514169232507334764} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &6513129680526216908 stripped GameObject: m_CorrespondingSourceObject: {fileID: 1649737328956898976, guid: 38fb1def99b2cd147a96842efe5a355b, @@ -2362,6 +2327,42 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &5373553619706430310 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 438240288241169162, guid: 38fb1def99b2cd147a96842efe5a355b, + type: 3} + m_PrefabInstance: {fileID: 5514169232507334764} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &6262023449843827082 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 1900922108148937190, guid: 38fb1def99b2cd147a96842efe5a355b, + type: 3} + m_PrefabInstance: {fileID: 5514169232507334764} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &110317182079341201 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5548909004573041405, guid: 38fb1def99b2cd147a96842efe5a355b, + type: 3} + m_PrefabInstance: {fileID: 5514169232507334764} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &8108767849280698377 PrefabInstance: m_ObjectHideFlags: 0 @@ -2461,6 +2462,12 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 91b685a7f0a6f7643b8ae61842f883de, type: 3} +--- !u!1 &392167392884716949 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 8500934962979638684, guid: 91b685a7f0a6f7643b8ae61842f883de, + type: 3} + m_PrefabInstance: {fileID: 8108767849280698377} + m_PrefabAsset: {fileID: 0} --- !u!4 &4583632407061898182 stripped Transform: m_CorrespondingSourceObject: {fileID: 5698306997877693391, guid: 91b685a7f0a6f7643b8ae61842f883de, @@ -2929,21 +2936,9 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 8589356912259884851} m_PrefabAsset: {fileID: 0} ---- !u!114 &6926759985235920099 stripped +--- !u!114 &2851464892156488724 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 1662757468879152080, guid: 38fb1def99b2cd147a96842efe5a355b, - type: 3} - m_PrefabInstance: {fileID: 8589356912259884851} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &4193460165237867982 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 5548909004573041405, guid: 38fb1def99b2cd147a96842efe5a355b, + m_CorrespondingSourceObject: {fileID: 5810196214057519911, guid: 38fb1def99b2cd147a96842efe5a355b, type: 3} m_PrefabInstance: {fileID: 8589356912259884851} m_PrefabAsset: {fileID: 0} @@ -2989,9 +2984,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &2851464892156488724 stripped +--- !u!114 &6926759985235920099 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 5810196214057519911, guid: 38fb1def99b2cd147a96842efe5a355b, + m_CorrespondingSourceObject: {fileID: 1662757468879152080, guid: 38fb1def99b2cd147a96842efe5a355b, + type: 3} + m_PrefabInstance: {fileID: 8589356912259884851} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &4193460165237867982 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5548909004573041405, guid: 38fb1def99b2cd147a96842efe5a355b, type: 3} m_PrefabInstance: {fileID: 8589356912259884851} m_PrefabAsset: {fileID: 0} diff --git a/Assets/Resources/model/重点攻击目标1.prefab b/Assets/Resources/model/重点攻击目标1.prefab index b4717574..f19f2796 100644 --- a/Assets/Resources/model/重点攻击目标1.prefab +++ b/Assets/Resources/model/重点攻击目标1.prefab @@ -2605,7 +2605,7 @@ Transform: m_GameObject: {fileID: 8425345772495991571} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 3, y: 3, z: 3} + m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 4546932034029822561} - {fileID: 404141722055020978} diff --git a/Assets/Zion/Scripts/Adam/GameManager.cs b/Assets/Zion/Scripts/Adam/GameManager.cs index b469108e..ceb81611 100644 --- a/Assets/Zion/Scripts/Adam/GameManager.cs +++ b/Assets/Zion/Scripts/Adam/GameManager.cs @@ -313,6 +313,24 @@ public class GameManager : MonoSingleton break; case "offline": + break; + case "BandSetting"://设备频段设置 + if (data[1]=="WRJ") + { + UnmannedAerialVehicleManage unmannedAerialVehicleManage = UnmannedAerialVehicleManage.unmannedAerialVehicleManages.Find(x => x.equipmentCommon.deviceID == data[2]); + if (unmannedAerialVehicleManage) + { + unmannedAerialVehicleManage.FrequencyGamepos(data[3]); + } + } + else if (data[1] == "ZYMB") + { + HighPriorityTarget highPriorityTarget= HighPriorityTarget.HighPriorityTargets.Find(x=>x.Number == data[2]); + if (highPriorityTarget) + { + highPriorityTarget.FrequencyGamepos(data[3]); + } + } break; default: break; diff --git a/Assets/Zion/Scripts/HighPriorityTarget.cs b/Assets/Zion/Scripts/HighPriorityTarget.cs index 59a0d493..a4848753 100644 --- a/Assets/Zion/Scripts/HighPriorityTarget.cs +++ b/Assets/Zion/Scripts/HighPriorityTarget.cs @@ -87,6 +87,9 @@ public class HighPriorityTarget : MonoBehaviour { frequency = "HUF"; gamepos.layer = 16; + string nowData = GetSyncDataTwo(); + DeviceManager.Instance.send2roomStr.Enqueue(nowData); + } }); toggle2.onValueChanged.AddListener((ison) => @@ -95,6 +98,9 @@ public class HighPriorityTarget : MonoBehaviour { frequency = "L"; gamepos.layer = 17; + string nowData = GetSyncDataTwo(); + DeviceManager.Instance.send2roomStr.Enqueue(nowData); + } }); toggle3.onValueChanged.AddListener((ison) => @@ -103,6 +109,9 @@ public class HighPriorityTarget : MonoBehaviour { frequency = "S"; gamepos.layer = 18; + string nowData = GetSyncDataTwo(); + DeviceManager.Instance.send2roomStr.Enqueue(nowData); + } }); toggle4.onValueChanged.AddListener((ison) => @@ -111,6 +120,9 @@ public class HighPriorityTarget : MonoBehaviour { frequency = "C"; gamepos.layer = 19; + string nowData = GetSyncDataTwo(); + DeviceManager.Instance.send2roomStr.Enqueue(nowData); + } }); toggle5.onValueChanged.AddListener((ison) => @@ -119,6 +131,9 @@ public class HighPriorityTarget : MonoBehaviour { frequency = "X"; gamepos.layer = 20; + string nowData = GetSyncDataTwo(); + DeviceManager.Instance.send2roomStr.Enqueue(nowData); + } }); toggle6.onValueChanged.AddListener((ison) => @@ -127,6 +142,9 @@ public class HighPriorityTarget : MonoBehaviour { frequency = "Ku"; gamepos.layer = 21; + string nowData = GetSyncDataTwo(); + DeviceManager.Instance.send2roomStr.Enqueue(nowData); + } }); toggle7.onValueChanged.AddListener((ison) => @@ -135,11 +153,22 @@ public class HighPriorityTarget : MonoBehaviour { frequency = "Ka"; gamepos.layer = 22; + string nowData = GetSyncDataTwo(); + DeviceManager.Instance.send2roomStr.Enqueue(nowData); + } }); } - + public void FrequencyGamepos(string _frequency) + { + int layerValue = LayerMask.NameToLayer(_frequency); + frequency = _frequency; + gamepos.layer = layerValue; + } + + + void Update() { if (Camera.main) @@ -208,4 +237,12 @@ public class HighPriorityTarget : MonoBehaviour return string.Format("{0},{1},{2},{3},{4},{5}", "KeyTarget", Number, HP, pos.x, pos.y, pos.z); } + /// + /// 同步频率 + /// + /// + protected string GetSyncDataTwo() + { + return string.Format("{0},{1},{2},{3}", "BandSetting", "ZYMB", Number, frequency); + } } diff --git a/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs b/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs index 81616001..98413d06 100644 --- a/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs +++ b/Assets/Zion/Scripts/ModelFunction/EquipmentCommon.cs @@ -293,6 +293,7 @@ public class EquipmentCommon : MonoBehaviour } } break; + case "WRJExpel"://驱离无人机 UnmannedAerialVehicleManage unmannedAerialVehicleManageExpel = GetComponent(); if (unmannedAerialVehicleManageExpel) diff --git a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs index 8fa9989b..2bd040d3 100644 --- a/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs +++ b/Assets/Zion/Scripts/ModelFunction/UAV/UnmannedAerialVehicleManage.cs @@ -160,6 +160,11 @@ public class UnmannedAerialVehicleManage : MonoBehaviour /// public GameObject SurveillanceFrequencyBand; + /// + /// 显示地图上的位置 + /// + public GameObject gamePos; + // Start is called before the first frame update void Start() @@ -174,29 +179,61 @@ public class UnmannedAerialVehicleManage : MonoBehaviour //Formation(1);//默认阵型 // 订阅布尔值变化事件 OnActivationChanged += OnActivationChangedHandler; - for(int i = 0;i - { - if (ison) - { - dataLinkCommunicationFrequency = togFrequencyBands[i].transform.name; - } - }); + toggle.onValueChanged.AddListener(delegate { FrequencyBandsValueChanged(toggle);}); } - for (int i = 0; i < togSurveillanceFrequencyBands.Count; i++) + //探测频段设置 + foreach (Toggle toggle in togSurveillanceFrequencyBands) { - togSurveillanceFrequencyBands[i].onValueChanged.AddListener((ison) => - { - if (ison) - { - electronicReconnaissanceCapability = togSurveillanceFrequencyBands[i].transform.name; - } - }); + toggle.onValueChanged.AddListener(delegate { SurveillanceFrequencyBandsValueChanged(toggle);}); } } + /// + /// 频段设置 + /// + /// + void FrequencyBandsValueChanged(Toggle change) + { + if (change.isOn) + { + dataLinkCommunicationFrequency = change.transform.name; + int layerValue = LayerMask.NameToLayer(dataLinkCommunicationFrequency); + gamePos.layer = layerValue; + string nowData = GetSyncDataTwo(); + DeviceManager.Instance.send2roomStr.Enqueue(nowData); + } + } + /// + /// 接受同步消息 + /// + /// + public void FrequencyGamepos(string _frequency) + { + int layerValue = LayerMask.NameToLayer(_frequency); + dataLinkCommunicationFrequency = _frequency; + gamePos.layer = layerValue; + } + + + /// + /// 探测频段设置 + /// + /// + void SurveillanceFrequencyBandsValueChanged(Toggle change) + { + if (change.isOn) + { + electronicReconnaissanceCapability = change.transform.name; + int layerValue = LayerMask.NameToLayer(electronicReconnaissanceCapability); + dzWRJCamera.cullingMask = 1 << layerValue; + } + } + [ContextMenu("Test")] public void Test() { @@ -366,8 +403,6 @@ public class UnmannedAerialVehicleManage : MonoBehaviour public void SendMsg(Transform attackTarget) { string nowData = GetSyncData(attackTarget); - Debug.Log(nowData); - //_ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData)); DeviceManager.Instance.send2roomStr.Enqueue(nowData); } /// @@ -380,7 +415,10 @@ public class UnmannedAerialVehicleManage : MonoBehaviour attackTarget.position.x, attackTarget.position.y, attackTarget.position.z); } - + protected string GetSyncDataTwo() + { + return string.Format("{0},{1},{2},{3}", "BandSetting", "WRJ", equipmentCommon.deviceID, dataLinkCommunicationFrequency); + } #region 启动暂停 /// /// 导条变化调用 @@ -446,104 +484,52 @@ public class UnmannedAerialVehicleManage : MonoBehaviour } break; case "数据链通信频点:": - string[] str = weaponitemone[i].para_value.Split(','); - if (str.Length > 0) + string date1 = GetFrequencyBand(weaponitemone[i].para_value); + Debug.Log(date1); + string[] dates1=date1.Split(','); + if (dates1.Length > 0) { - for (int j = 0; j < str.Length; j++) + for (int k = 0; k < togFrequencyBands.Count; k++) { - switch (str[j]) - { - case "0": - dataLinkCommunicationFrequency += "UHF" + ","; - break; - case "1": - dataLinkCommunicationFrequency += "L" + ","; - break; - case "2": - dataLinkCommunicationFrequency += "S" + ","; - break; - case "3": - dataLinkCommunicationFrequency += "C" + ","; - break; - case "4": - dataLinkCommunicationFrequency += "X" + ","; - break; - case "5": - dataLinkCommunicationFrequency += "Ku" + ","; - break; - case "6": - dataLinkCommunicationFrequency += "Ka" + ","; - break; - default: - break; - } + Debug.Log(togFrequencyBands[k].transform.name); + togFrequencyBands[k].gameObject.SetActive(date1.Contains(togFrequencyBands[k].transform.name)); } + dataLinkCommunicationFrequency = dates1[0]; + int layerValue = LayerMask.NameToLayer(dataLinkCommunicationFrequency); + gamePos.layer = layerValue; + foreach (Toggle toggle in togFrequencyBands) + { + if (toggle.transform.name == dataLinkCommunicationFrequency) + toggle.isOn = true; + } + } + break; case "电子侦察能力:": - string[] str1 = weaponitemone[i].para_value.Split(','); - if (str1.Length > 0) + string date2 = GetFrequencyBand(weaponitemone[i].para_value); + Debug.Log(date2); + string[] dates2 = date2.Split(','); + if (dates2.Length > 0) { - for (int j = 0; j < str1.Length; j++) + for (int k = 0; k < togSurveillanceFrequencyBands.Count; k++) { - switch (str1[j]) - { - case "0": - electronicReconnaissanceCapability += "UHF" + ","; - break; - case "1": - electronicReconnaissanceCapability += "L" + ","; - break; - case "2": - electronicReconnaissanceCapability += "S" + ","; - break; - case "3": - electronicReconnaissanceCapability += "C" + ","; - break; - case "4": - electronicReconnaissanceCapability += "X" + ","; - break; - case "5": - electronicReconnaissanceCapability += "Ku" + ","; - break; - case "6": - electronicReconnaissanceCapability += "Ka" + ","; - break; - default: - break; - } + Debug.Log(togSurveillanceFrequencyBands[k].transform.name); + togSurveillanceFrequencyBands[k].gameObject.SetActive(date2.Contains(togSurveillanceFrequencyBands[k].transform.name)); + } + electronicReconnaissanceCapability = dates2[0]; + int layerValue = LayerMask.NameToLayer(electronicReconnaissanceCapability); + dzWRJCamera.cullingMask = 1 << layerValue; + //探测频段设置 + foreach (Toggle toggle in togSurveillanceFrequencyBands) + { + if (toggle.transform.name == electronicReconnaissanceCapability) + toggle.isOn = true; } } + break; - //electronicReconnaissanceCapability = weaponitemone[i].para_value; - //switch (weaponitemone[i].para_value) - //{ - // case "0": - // electronicReconnaissanceCapability = "UHF"; - // break; - // case "1": - // electronicReconnaissanceCapability = "L"; - // break; - // case "2": - // electronicReconnaissanceCapability = "S"; - // break; - // case "3": - // electronicReconnaissanceCapability = "C"; - // break; - // case "4": - // electronicReconnaissanceCapability = "X"; - // break; - // case "5": - // electronicReconnaissanceCapability = "Ku"; - // break; - // case "6": - // electronicReconnaissanceCapability = "Ka"; - // break; - // default: - // break; - //} - //break; case "光学侦察能力:": //opticalReconnaissanceCapability = weaponitemone[i].para_value; switch (weaponitemone[i].para_value) @@ -582,6 +568,51 @@ public class UnmannedAerialVehicleManage : MonoBehaviour } } + /// + /// 获取频段 + /// + /// + /// + string GetFrequencyBand(string para_value) + { + string _data = ""; + string[] str = para_value.Split(','); + if (str.Length > 0) + { + + for (int j = 0; j < str.Length; j++) + { + switch (str[j]) + { + case "0": + _data += "UHF" + ","; + break; + case "1": + _data += "L" + ","; + break; + case "2": + _data += "S" + ","; + break; + case "3": + _data += "C" + ","; + break; + case "4": + _data += "X" + ","; + break; + case "5": + _data += "Ku" + ","; + break; + case "6": + _data += "Ka" + ","; + break; + default: + break; + } + } + + } + return _data; + } /// /// 设置tips颜色 ///