This commit is contained in:
yulong 2024-03-27 16:03:39 +08:00
commit 85246472d9
10 changed files with 163 additions and 80 deletions

View File

@ -0,0 +1,76 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1365749457141817093
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3817412841511205130}
- component: {fileID: 5203452252080208930}
- component: {fileID: 8529437687840462685}
m_Layer: 12
m_Name: Point
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3817412841511205130
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1365749457141817093}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 14.56, y: 24.54}
m_SizeDelta: {x: 4.9654884, y: 4.9654884}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5203452252080208930
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1365749457141817093}
m_CullTransparentMesh: 0
--- !u!114 &8529437687840462685
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1365749457141817093}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 0.39200455, b: 0, a: 1}
m_RaycastTarget: 1
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: be4c1bc58430fdd42afb2afab9b4de0b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -52,7 +52,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5661051785896792237}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
@ -286,6 +286,10 @@ MonoBehaviour:
btnAmplification: {fileID: 5661051786863276579}
btnClose: {fileID: 5661051786339230469}
rawShow: {fileID: 5661051785896792235}
uavm: {fileID: 0}
targetPointPrefab: {fileID: 1365749457141817093, guid: be4c1bc58430fdd42afb2afab9b4de0b,
type: 3}
targets: []
--- !u!1 &5661051786674650808
GameObject:
m_ObjectHideFlags: 0

View File

@ -723,7 +723,7 @@ TextMesh:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3076048921576049840}
m_Text: "\u7535\u5B50\u4FA6\u5BDF\u65E0\u4EBA\u673A"
m_Text:
m_OffsetZ: 0
m_CharacterSize: 1
m_LineSpacing: 1
@ -1630,12 +1630,6 @@ MonoBehaviour:
m_Bits: 0
boisp: 1
attackColliders1: []
targets: []
radarCenter: {fileID: 0}
radarBackground: {fileID: 0}
targetPointPrefab: {fileID: 748507237023375508, guid: 255976aaa04a95c4fb382c39e411b935,
type: 3}
radarBaseMap: {fileID: 0}
currentCollider: {fileID: 0}
layerMask:
serializedVersion: 2

View File

@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 1113159741}
m_IndirectSpecularColor: {r: 0.16233805, g: 0.3060893, b: 0.6688442, a: 1}
m_IndirectSpecularColor: {r: 0.16228974, g: 0.30605963, b: 0.6690127, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@ -72521,7 +72521,7 @@ MonoBehaviour:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
randSeed: 599115265
randSeed: 706678875
isDoingTransition: 0
minimumHeight: 0
--- !u!114 &1820978574
@ -74596,6 +74596,11 @@ PrefabInstance:
m_Modification:
m_TransformParent: {fileID: 754191142}
m_Modifications:
- target: {fileID: 2602178730647806783, guid: fbbb5cf357f688c4e8fb400e3c92f0e1,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5855821741811488938, guid: fbbb5cf357f688c4e8fb400e3c92f0e1,
type: 3}
propertyPath: m_Name

View File

@ -241,7 +241,7 @@ public class UnmannedAerialVehicle : MonoBehaviour
void OnDestroy()
{
attackTarget = null;
StopCoroutine(RangedAttack());
//StopCoroutine(RangedAttack());
transform.DOKill();
}
@ -258,15 +258,15 @@ public class UnmannedAerialVehicle : MonoBehaviour
Vector3 _v3 = attackTarget.position;
transform.DOLookAt(_v3, 0.1f).OnComplete(() =>
{
if (wrjModel == WRJModel.)
{
Debug.Log("光学无人机攻击");
StopCoroutine(RangedAttack());
StartCoroutine(RangedAttack());
}
else
{
string nowData = GetSyncData(attackTarget);
if (wrjModel == WRJModel.)
{
Debug.Log("光学无人机攻击");
StopCoroutine(RangedAttack());
StartCoroutine(RangedAttack());
}
else
{
string nowData = GetSyncData(attackTarget);
Debug.Log(nowData);
MyNetMQClient.instance.Send(nowData);
//_ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData));

View File

@ -489,50 +489,9 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
public List<Collider> attackColliders1 = new List<Collider>();
public List<Collider> targets = new List<Collider>();
public Transform radarCenter;
public Image radarBackground;
public GameObject targetPointPrefab;
public RawImage radarBaseMap;
/// <summary>
/// 获取所有符合条件的设备
/// </summary>
/// <returns></returns>
public bool GetQualifiedEquipment(Collider obj)
{
if (obj!=null)
{
if (obj.gameObject.tag == "AttackTarget"
&& !obj.isTrigger
&& !attackColliders1.Contains(obj)
&& obj.transform.GetComponent<HighPriorityTarget>()
&& obj.transform.GetComponent<HighPriorityTarget>().frequency.Contains(electronicReconnaissanceCapability))
return true;
else
return false;
}
return false;
}
/// <summary>
/// 在UI图上显示雷达点
/// </summary>
public void ShowRadarPoint()
{
foreach (Transform child in radarBaseMap.transform)
{
Destroy(child.gameObject);
}
foreach (Collider target in targets)
{
Vector3 relativePosition = target.transform.position - radarCenter.position;
Vector2 radarPosition = new Vector2(relativePosition.x, relativePosition.z) * 0.1f;
GameObject point = Instantiate(targetPointPrefab, radarBaseMap.transform);
RectTransform rt = point.GetComponent<RectTransform>();
rt.anchoredPosition = radarPosition;
}
}
/// <summary>
/// 攻击打击
@ -545,11 +504,10 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
if (wrjModel == WRJModel.)
{
List<Collider> allColliders = Physics.OverlapSphere(transform.position, Spectrumdetection.Radius * 1000).ToList(); // 检索范围内的所有碰撞体
targets = allColliders.FindAll(GetQualifiedEquipment);
ShowRadarPoint();
for (int i = 0; i < targets.Count; i++)
for (int i = 0; i < allColliders.Count; i++)
{
attackColliders1.Add(targets[i]);
attackColliders1.Add(allColliders[i]);
}
}
else if (wrjModel == WRJModel.)

View File

@ -70,8 +70,8 @@ public class DroneViewDisplay : MonoSingleton<DroneViewDisplay>
radioAngleView.transform.SetAsFirstSibling(); // 移到父物体的第一个位置
radioAngleView.transform.localScale = Vector3.one;
textNmme.text = unmannedAerialVehicleManage.transform.name;
rawShow.texture = unmannedAerialVehicleManage.wrjModel == WRJModel. ?
unmannedAerialVehicleManage.dzWRJCamera.targetTexture : unmannedAerialVehicleManage.gxWRJCamera.targetTexture;
//rawShow.texture = unmannedAerialVehicleManage.wrjModel == WRJModel.电子侦察无人机 ?
// unmannedAerialVehicleManage.dzWRJCamera.targetTexture : unmannedAerialVehicleManage.gxWRJCamera.targetTexture;
}
else
@ -88,26 +88,25 @@ public class DroneViewDisplay : MonoSingleton<DroneViewDisplay>
radioAngleViewMain.deviceID = unmannedAerialVehicleManage.equipmentCommon.deviceID;
radioAngleViewMain.textNmme.text = unmannedAerialVehicleManage.transform.name;
radioAngleViewMain.typeWRJ = unmannedAerialVehicleManage.wrjModel;
Mask mask = wrj.transform.GetComponentInChildren<Mask>();
if (mask)
mask.enabled = unmannedAerialVehicleManage.wrjModel == WRJModel. ? true : false;
radioAngleViewMain.uavm = unmannedAerialVehicleManage;
// 创建 RenderTexture
RenderTexture renderTexture = new RenderTexture(500, 500, 0);
renderTexture.name = unmannedAerialVehicleManage.equipmentCommon.deviceID;
unmannedAerialVehicleManage.dzWRJCamera.targetTexture = renderTexture;
//unmannedAerialVehicleManage.dzWRJCamera.targetTexture = renderTexture;
unmannedAerialVehicleManage.gxWRJCamera.targetTexture = renderTexture;
if (unmannedAerialVehicleManage.wrjModel == WRJModel.)
{
unmannedAerialVehicleManage.dzWRJCamera.gameObject.SetActive(true);
//unmannedAerialVehicleManage.dzWRJCamera.gameObject.SetActive(true);
}
else
{
unmannedAerialVehicleManage.gxWRJCamera.gameObject.SetActive(true);
radioAngleViewMain.rawShow.texture = unmannedAerialVehicleManage.gxWRJCamera.targetTexture;
radioAngleViewMain.rawShow.enabled = true;
wrj.transform.GetComponentInChildren<Mask>().enabled = false;
}
radioAngleViewMain.rawShow.texture = unmannedAerialVehicleManage.wrjModel == WRJModel. ?
unmannedAerialVehicleManage.dzWRJCamera.targetTexture : unmannedAerialVehicleManage.gxWRJCamera.targetTexture;
renderTextures.Add(renderTexture);
radioAngleViews.Add(radioAngleViewMain);
@ -126,7 +125,7 @@ public class DroneViewDisplay : MonoSingleton<DroneViewDisplay>
public void CreateUI(string deviceID, Camera camera, RawImage rawImage)
{
if (deviceID.Length < 10) return;
var v = renderTextures.Find(x => (x!=null&&x.name == deviceID));
var v = renderTextures.Find(x => (x != null && x.name == deviceID));
if (v != null) return;
RenderTexture renderTexture = new RenderTexture(500, 500, 0);
renderTexture.name = deviceID;

View File

@ -1,5 +1,6 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
@ -33,7 +34,11 @@ public class RadioAngleView : MonoBehaviour
/// </summary>
public RawImage rawShow;
public UnmannedAerialVehicleManage uavm;
public GameObject targetPointPrefab;
public List<GameObject> targets = new List<GameObject>();
void Start()
{
//textNmme=transform.Find("名称").GetComponent<Text>();
@ -51,5 +56,40 @@ public class RadioAngleView : MonoBehaviour
transform.SetAsLastSibling();// 移到父物体的最后一个位置
});
}
private void Update()
{
if (typeWRJ != WRJModel.) return;
targets = GameObject.FindGameObjectsWithTag("AttackTarget").ToList().FindAll(GetQualifiedEquipment);
if (targets.Count == 0) return;
foreach (Transform child in rawShow.transform)
{
Destroy(child.gameObject);
}
foreach (GameObject target in targets)
{
Vector3 relativePosition = target.transform.position - uavm.transform.position;
Vector2 radarPosition = new Vector2(relativePosition.x, relativePosition.z) * 0.1f;
GameObject point = Instantiate(targetPointPrefab, rawShow.transform);
RectTransform rt = point.GetComponent<RectTransform>();
rt.anchoredPosition = radarPosition;
}
}
/// <summary>
/// 获取符合条件的设备
/// </summary>
public bool GetQualifiedEquipment(GameObject obj)
{
if (obj != null)
{
if (obj.gameObject.tag == "AttackTarget"
&& obj.transform.GetComponent<HighPriorityTarget>()
&& obj.transform.GetComponent<HighPriorityTarget>().frequency.Contains(uavm.electronicReconnaissanceCapability))
return true;
else
return false;
}
return false;
}
}