using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// /// 无人机视角显示 /// public class DroneViewDisplay : MonoSingleton { public Transform uiParent; #region UI public static List radioAngleViews = new List(); /// /// UI /// [Header("UI")] public GameObject prefabRadioAngleView; /// /// 放大显示 /// [Header("放大显示")] public Transform radioAngleViewMax; /// /// 放大显示无人机名称 /// [Header("放大显示无人机名称")] public Text textNmme; /// /// 放大显示关闭按钮 /// [Header("放大显示关闭按钮")] public Button btnClose; /// /// 放大显示视角显示RawImage /// [Header("无线电探测放大显示视角显示RawImage")] public RawImage rawShow; #endregion // Start is called before the first frame update void Start() { btnClose.onClick.AddListener(() => { radioAngleViewMax.localScale = Vector3.zero; }); } // Update is called once per frame void Update() { } /// /// 显示UI /// /// 无人机设备id /// 无人机设备类型 /// 无人机名称 /// 渲染摄像机画面 public void CreateUI(string deviceID, WRJModel wRJModel,string name,Texture camera) { RadioAngleView radioAngleView = radioAngleViews.Find(x => x.deviceID == deviceID); if (radioAngleView) { radioAngleViewMax.localScale = Vector3.one; textNmme.text = name; rawShow.texture = camera; } else { switch (wRJModel) { case WRJModel.电子侦察无人机: GameObject wrj = Instantiate(prefabRadioAngleView, uiParent); wrj.name = name; RadioAngleView _radioAngleView = wrj.GetComponent(); if (_radioAngleView) { _radioAngleView.deviceID = deviceID; _radioAngleView.textNmme.text = name; _radioAngleView.rawShow.texture = camera; radioAngleViews.Add(_radioAngleView); } break; case WRJModel.光学无人机: break; default: break; } } } }