93 lines
2.8 KiB
C#
93 lines
2.8 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
/// <summary>
|
|
/// 无人机视角显示
|
|
/// </summary>
|
|
public class DroneViewDisplay : MonoSingleton<DroneViewDisplay>
|
|
{
|
|
public Transform uiParent;
|
|
#region UI
|
|
public static List<RadioAngleView> radioAngleViews = new List<RadioAngleView>();
|
|
/// <summary>
|
|
/// UI
|
|
/// </summary>
|
|
[Header("UI")]
|
|
public GameObject prefabRadioAngleView;
|
|
/// <summary>
|
|
/// 放大显示
|
|
/// </summary>
|
|
[Header("放大显示")]
|
|
public Transform radioAngleViewMax;
|
|
/// <summary>
|
|
/// 放大显示无人机名称
|
|
/// </summary>
|
|
[Header("放大显示无人机名称")]
|
|
public Text textNmme;
|
|
/// <summary>
|
|
/// 放大显示关闭按钮
|
|
/// </summary>
|
|
[Header("放大显示关闭按钮")]
|
|
public Button btnClose;
|
|
/// <summary>
|
|
/// 放大显示视角显示RawImage
|
|
/// </summary>
|
|
[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()
|
|
{
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 显示UI
|
|
/// </summary>
|
|
/// <param name="deviceID">无人机设备id</param>
|
|
/// <param name="wRJModel">无人机设备类型</param>
|
|
/// <param name="name">无人机名称</param>
|
|
/// <param name="camera">渲染摄像机画面</param>
|
|
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<RadioAngleView>();
|
|
if (_radioAngleView)
|
|
{
|
|
_radioAngleView.deviceID = deviceID;
|
|
_radioAngleView.textNmme.text = name;
|
|
_radioAngleView.rawShow.texture = camera;
|
|
radioAngleViews.Add(_radioAngleView);
|
|
}
|
|
break;
|
|
case WRJModel.光学无人机:
|
|
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|