This commit is contained in:
parent
d0e0599bbb
commit
e342d4e384
|
@ -196,11 +196,7 @@ public class GameManager : MonoSingleton<GameManager>
|
||||||
UnmannedAerialVehicleManage unmannedAerialVehicleManage = hitInfo.collider.GetComponent<UnmannedAerialVehicleManage>();
|
UnmannedAerialVehicleManage unmannedAerialVehicleManage = hitInfo.collider.GetComponent<UnmannedAerialVehicleManage>();
|
||||||
UnmannedAerialVehicleUI.Instance.unmannedAerialVehicleManage = unmannedAerialVehicleManage;
|
UnmannedAerialVehicleUI.Instance.unmannedAerialVehicleManage = unmannedAerialVehicleManage;
|
||||||
|
|
||||||
DroneViewDisplay.Instance.CreateUI(
|
DroneViewDisplay.Instance.CreateUI(unmannedAerialVehicleManage,true);
|
||||||
unmannedAerialVehicleManage.equipmentCommon.deviceID,
|
|
||||||
unmannedAerialVehicleManage.wrjModel,
|
|
||||||
unmannedAerialVehicleManage.WRJName,
|
|
||||||
unmannedAerialVehicleManage.dzWRJCamera);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,6 +162,7 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
|
||||||
//Formation(1);//默认阵型
|
//Formation(1);//默认阵型
|
||||||
// 订阅布尔值变化事件
|
// 订阅布尔值变化事件
|
||||||
OnActivationChanged += OnActivationChangedHandler;
|
OnActivationChanged += OnActivationChangedHandler;
|
||||||
|
DroneViewDisplay.Instance.CreateUI(this, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,15 @@ public class DroneViewDisplay : MonoSingleton<DroneViewDisplay>
|
||||||
{
|
{
|
||||||
public Transform uiParent;
|
public Transform uiParent;
|
||||||
#region UI
|
#region UI
|
||||||
|
/// <summary>
|
||||||
|
/// WRJUI集合
|
||||||
|
/// </summary>
|
||||||
public static List<RadioAngleView> radioAngleViews = new List<RadioAngleView>();
|
public static List<RadioAngleView> radioAngleViews = new List<RadioAngleView>();
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// 所有无人机RenderTexture集合
|
||||||
|
/// </summary>
|
||||||
|
public static List<RenderTexture> renderTextures = new List<RenderTexture>();
|
||||||
|
/// <summary>
|
||||||
/// UIPrefab
|
/// UIPrefab
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Header("UIPrefab")]
|
[Header("UIPrefab")]
|
||||||
|
@ -56,30 +63,73 @@ public class DroneViewDisplay : MonoSingleton<DroneViewDisplay>
|
||||||
/// <param name="wRJModel">无人机设备类型</param>
|
/// <param name="wRJModel">无人机设备类型</param>
|
||||||
/// <param name="name">无人机名称</param>
|
/// <param name="name">无人机名称</param>
|
||||||
/// <param name="camera">渲染摄像机画面</param>
|
/// <param name="camera">渲染摄像机画面</param>
|
||||||
public void CreateUI(string deviceID, WRJModel wRJModel, string name, Camera camera)
|
public void CreateUI(UnmannedAerialVehicleManage unmannedAerialVehicleManage,bool isShow)
|
||||||
{
|
{
|
||||||
RadioAngleView radioAngleView = radioAngleViews.Find(x => x.deviceID == deviceID);
|
RadioAngleView radioAngleView = radioAngleViews.Find(x => x.deviceID == unmannedAerialVehicleManage.equipmentCommon.deviceID);
|
||||||
if (radioAngleView)
|
if (radioAngleView)
|
||||||
{
|
{
|
||||||
radioAngleViewMax.localScale = Vector3.one;
|
radioAngleViewMax.localScale = Vector3.one;
|
||||||
textNmme.text = name;
|
textNmme.text = name;
|
||||||
rawShow.texture = camera.targetTexture;
|
rawShow.texture = unmannedAerialVehicleManage.wrjModel == WRJModel.电子侦察无人机 ?
|
||||||
|
unmannedAerialVehicleManage.dzWRJCamera.targetTexture: unmannedAerialVehicleManage.gxWRJCamera.targetTexture;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (wRJModel == WRJModel.电子侦察无人机|| wRJModel == WRJModel.光学无人机){
|
if (unmannedAerialVehicleManage.wrjModel == WRJModel.电子侦察无人机|| unmannedAerialVehicleManage.wrjModel == WRJModel.光学无人机){
|
||||||
GameObject wrj = Instantiate(prefabRadioAngleView, uiParent);
|
GameObject wrj = Instantiate(prefabRadioAngleView, uiParent);
|
||||||
|
wrj.transform.localScale = isShow ? Vector3.one : Vector3.zero;
|
||||||
wrj.name = name;
|
wrj.name = name;
|
||||||
RadioAngleView _radioAngleView = wrj.GetComponent<RadioAngleView>();
|
RadioAngleView _radioAngleView = wrj.GetComponent<RadioAngleView>();
|
||||||
if (_radioAngleView)
|
if (_radioAngleView)
|
||||||
{
|
{
|
||||||
_radioAngleView.deviceID = deviceID;
|
_radioAngleView.deviceID = unmannedAerialVehicleManage.equipmentCommon.deviceID;
|
||||||
_radioAngleView.textNmme.text = name;
|
_radioAngleView.textNmme.text = name; Mask mask = wrj.transform.GetComponentInChildren<Mask>();
|
||||||
_radioAngleView.rawShow.texture = camera.targetTexture;
|
|
||||||
Mask mask = wrj.transform.GetComponentInChildren<Mask>();
|
|
||||||
if (mask)
|
if (mask)
|
||||||
mask.enabled= wRJModel == WRJModel.电子侦察无人机 ? true : false;
|
mask.enabled= unmannedAerialVehicleManage.wrjModel == WRJModel.电子侦察无人机 ? true : false;
|
||||||
radioAngleViews.Add(_radioAngleView);
|
radioAngleViews.Add(_radioAngleView);
|
||||||
|
// 创建 RenderTexture
|
||||||
|
RenderTexture renderTexture = new RenderTexture(500, 500, 0);
|
||||||
|
renderTexture.name = unmannedAerialVehicleManage.equipmentCommon.deviceID;
|
||||||
|
unmannedAerialVehicleManage.dzWRJCamera.targetTexture = renderTexture;
|
||||||
|
unmannedAerialVehicleManage.gxWRJCamera.targetTexture = renderTexture;
|
||||||
|
_radioAngleView.rawShow.texture = unmannedAerialVehicleManage.wrjModel == WRJModel.电子侦察无人机 ?
|
||||||
|
unmannedAerialVehicleManage.dzWRJCamera.targetTexture : unmannedAerialVehicleManage.gxWRJCamera.targetTexture;
|
||||||
|
renderTextures.Add(renderTexture);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 删除无人机UI
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="deviceID"></param>
|
||||||
|
public void DistroyUI(string deviceID)
|
||||||
|
{
|
||||||
|
RadioAngleView radioAngleView = radioAngleViews.Find(x => x.deviceID == deviceID);
|
||||||
|
if (radioAngleView)
|
||||||
|
{
|
||||||
|
Destroy(radioAngleView.gameObject);
|
||||||
|
for(int i= 0; i < radioAngleViews.Count; i++)
|
||||||
|
{
|
||||||
|
if (radioAngleView == null)
|
||||||
|
{
|
||||||
|
radioAngleViews.RemoveAt(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RenderTexture renderTexture = renderTextures.Find(x => x.name == deviceID);
|
||||||
|
if (renderTexture)
|
||||||
|
{
|
||||||
|
Destroy(renderTexture);
|
||||||
|
for (int i = 0; i < renderTextures.Count; i++)
|
||||||
|
{
|
||||||
|
if (renderTextures == null)
|
||||||
|
{
|
||||||
|
renderTextures.RemoveAt(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue