This commit is contained in:
账号名 2024-01-25 19:13:11 +08:00
parent c2b8eba9cb
commit cd4cadab35
10 changed files with 245 additions and 1644 deletions

View File

@ -281,10 +281,10 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
deviceID: deviceID:
textNmme: {fileID: 0} textNmme: {fileID: 5661051786674650806}
btnAmplification: {fileID: 0} btnAmplification: {fileID: 5661051786863276579}
btnClose: {fileID: 0} btnClose: {fileID: 5661051786339230469}
rawShow: {fileID: 0} rawShow: {fileID: 5661051785896792235}
--- !u!1 &5661051786674650808 --- !u!1 &5661051786674650808
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -324,8 +324,8 @@ Camera:
m_GameObject: {fileID: 2040130835863971667} m_GameObject: {fileID: 2040130835863971667}
m_Enabled: 1 m_Enabled: 1
serializedVersion: 2 serializedVersion: 2
m_ClearFlags: 1 m_ClearFlags: 2
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
m_projectionMatrixMode: 1 m_projectionMatrixMode: 1
m_GateFitMode: 2 m_GateFitMode: 2
m_FOVAxisMode: 0 m_FOVAxisMode: 0
@ -742,7 +742,7 @@ Camera:
m_Enabled: 1 m_Enabled: 1
serializedVersion: 2 serializedVersion: 2
m_ClearFlags: 1 m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
m_projectionMatrixMode: 1 m_projectionMatrixMode: 1
m_GateFitMode: 2 m_GateFitMode: 2
m_FOVAxisMode: 0 m_FOVAxisMode: 0

File diff suppressed because it is too large Load Diff

View File

@ -44,6 +44,8 @@ public class GameManager : MonoSingleton<GameManager>
// Start is called before the first frame update // Start is called before the first frame update
private void Awake() private void Awake()
{ {
GlobalFlag.blueOrRed = 1;
Debug.Log(GlobalFlag.blueOrRed);
postureBtn.onClick.AddListener(() => postureBtn.onClick.AddListener(() =>
{ {
ChangeView(0); ChangeView(0);
@ -61,6 +63,7 @@ public class GameManager : MonoSingleton<GameManager>
//0 red layer ==11 , 1 blue layer ==12 //0 red layer ==11 , 1 blue layer ==12
if (UIBootstrap.Instance.GetRoleByIDPracticeId(GlobalFlag.practiceSeatId) == "0") if (UIBootstrap.Instance.GetRoleByIDPracticeId(GlobalFlag.practiceSeatId) == "0")
{ {
GlobalFlag.blueOrRed = 0;
spt.transform.position = redSpawnPos.position; spt.transform.position = redSpawnPos.position;
spt.transform.eulerAngles = redSpawnPos.eulerAngles; spt.transform.eulerAngles = redSpawnPos.eulerAngles;
spt.gameObject.SetActive(true); spt.gameObject.SetActive(true);
@ -86,6 +89,7 @@ public class GameManager : MonoSingleton<GameManager>
} }
else else
{ {
GlobalFlag.blueOrRed = 1;
for (int i = 0; i < dviceContent.childCount; i++) for (int i = 0; i < dviceContent.childCount; i++)
{ {
Destroy(dviceContent.GetChild(i).gameObject); Destroy(dviceContent.GetChild(i).gameObject);

View File

@ -100,7 +100,7 @@ public class UIBootstrap : MonoSingleton<UIBootstrap>
return subjectInfo[index].Role; return subjectInfo[index].Role;
} }
} }
return "0"; return "-1";
} }
/// <summary> /// <summary>
/// 是否分配角色 /// 是否分配角色

View File

@ -23,4 +23,8 @@ public class GlobalFlag
/// 当前房间科目ID /// 当前房间科目ID
/// </summary> /// </summary>
public static string practiceSubjectID; public static string practiceSubjectID;
/// <summary>
/// 红方蓝方
/// </summary>
public static int blueOrRed;
} }

View File

@ -179,6 +179,8 @@ public class EquipmentCommon : MonoBehaviour
unmannedAerialVehicleManage.MatrixFormation(30, 1); unmannedAerialVehicleManage.MatrixFormation(30, 1);
unmannedAerialVehicleManage.FillInTheData(weaponitemone); unmannedAerialVehicleManage.FillInTheData(weaponitemone);
unmannedAerialVehicleManage.isStartRehearsing = isStartRehearsing; unmannedAerialVehicleManage.isStartRehearsing = isStartRehearsing;
DroneViewDisplay.Instance.CreateUI(unmannedAerialVehicleManage, false);
break; break;
case "频谱探测": case "频谱探测":
Spectrumdetection spectrumdetection = GetComponent<Spectrumdetection>(); Spectrumdetection spectrumdetection = GetComponent<Spectrumdetection>();

View File

@ -162,8 +162,7 @@ public class UnmannedAerialVehicleManage : MonoBehaviour
//Formation(1);//默认阵型 //Formation(1);//默认阵型
// 订阅布尔值变化事件 // 订阅布尔值变化事件
OnActivationChanged += OnActivationChangedHandler; OnActivationChanged += OnActivationChangedHandler;
DroneViewDisplay.Instance.CreateUI(this, false);
} }
[ContextMenu("Test")] [ContextMenu("Test")]

View File

@ -47,62 +47,72 @@ public class DroneViewDisplay : MonoSingleton<DroneViewDisplay>
// Start is called before the first frame update // Start is called before the first frame update
void Start() void Start()
{ {
Debug.Log(GlobalFlag.blueOrRed);
transform.localScale = GlobalFlag.blueOrRed == 0 ? Vector3.one : Vector3.zero;
btnClose.onClick.AddListener(() => { radioAngleViewMax.localScale = Vector3.zero; }); btnClose.onClick.AddListener(() => { radioAngleViewMax.localScale = Vector3.zero; });
} }
// Update is called once per frame
void Update()
{
}
/// <summary> /// <summary>
/// 显示UI /// 显示UI
/// </summary> /// </summary>
/// <param name="deviceID">无人机设备id</param> /// <param name="unmannedAerialVehicleManage">无人机脚本</param>
/// <param name="wRJModel">无人机设备类型</param> /// <param name="isShow">是否显示</param>
/// <param name="name">无人机名称</param> public void CreateUI(UnmannedAerialVehicleManage unmannedAerialVehicleManage, bool isShow)
/// <param name="camera">渲染摄像机画面</param>
public void CreateUI(UnmannedAerialVehicleManage unmannedAerialVehicleManage,bool isShow)
{ {
Debug.Log("生成:" + unmannedAerialVehicleManage.transform.name);
if (unmannedAerialVehicleManage.equipmentCommon.deviceID.Length < 10) return;
RadioAngleView radioAngleView = radioAngleViews.Find(x => x.deviceID == unmannedAerialVehicleManage.equipmentCommon.deviceID); RadioAngleView radioAngleView = radioAngleViews.Find(x => x.deviceID == unmannedAerialVehicleManage.equipmentCommon.deviceID);
if (radioAngleView) if (radioAngleView)
{ {
radioAngleViewMax.localScale = Vector3.one; radioAngleView.transform.SetAsFirstSibling(); // 移到父物体的第一个位置
radioAngleView.transform.localScale = Vector3.one;
textNmme.text = name; textNmme.text = name;
rawShow.texture = unmannedAerialVehicleManage.wrjModel == WRJModel. ? rawShow.texture = unmannedAerialVehicleManage.wrjModel == WRJModel. ?
unmannedAerialVehicleManage.dzWRJCamera.targetTexture: unmannedAerialVehicleManage.gxWRJCamera.targetTexture; unmannedAerialVehicleManage.dzWRJCamera.targetTexture : unmannedAerialVehicleManage.gxWRJCamera.targetTexture;
} }
else else
{ {
if (unmannedAerialVehicleManage.wrjModel == WRJModel.|| unmannedAerialVehicleManage.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.transform.localScale = Vector3.zero;
wrj.name = name; wrj.name = name;
RadioAngleView _radioAngleView = wrj.GetComponent<RadioAngleView>(); wrj.transform.SetAsLastSibling();// 移到父物体的最后一个位置
if (_radioAngleView) RadioAngleView radioAngleViewMain = wrj.GetComponent<RadioAngleView>();
if (radioAngleViewMain)
{ {
_radioAngleView.deviceID = unmannedAerialVehicleManage.equipmentCommon.deviceID; radioAngleViewMain.deviceID = unmannedAerialVehicleManage.equipmentCommon.deviceID;
_radioAngleView.textNmme.text = name; Mask mask = wrj.transform.GetComponentInChildren<Mask>(); radioAngleViewMain.textNmme.text = name;
radioAngleViewMain.typeWRJ= unmannedAerialVehicleManage.wrjModel;
Mask mask = wrj.transform.GetComponentInChildren<Mask>();
if (mask) if (mask)
mask.enabled= unmannedAerialVehicleManage.wrjModel == WRJModel. ? true : false; mask.enabled = unmannedAerialVehicleManage.wrjModel == WRJModel. ? true : false;
radioAngleViews.Add(_radioAngleView);
// 创建 RenderTexture // 创建 RenderTexture
RenderTexture renderTexture = new RenderTexture(500, 500, 0); RenderTexture renderTexture = new RenderTexture(500, 500, 0);
renderTexture.name = unmannedAerialVehicleManage.equipmentCommon.deviceID; renderTexture.name = unmannedAerialVehicleManage.equipmentCommon.deviceID;
if(unmannedAerialVehicleManage.wrjModel == WRJModel.)
{
unmannedAerialVehicleManage.dzWRJCamera.gameObject.SetActive(true);
}
else
{
unmannedAerialVehicleManage.gxWRJCamera.gameObject.SetActive(true);
}
unmannedAerialVehicleManage.dzWRJCamera.targetTexture = renderTexture; unmannedAerialVehicleManage.dzWRJCamera.targetTexture = renderTexture;
unmannedAerialVehicleManage.gxWRJCamera.targetTexture = renderTexture; unmannedAerialVehicleManage.gxWRJCamera.targetTexture = renderTexture;
_radioAngleView.rawShow.texture = unmannedAerialVehicleManage.wrjModel == WRJModel. ? radioAngleViewMain.rawShow.texture = unmannedAerialVehicleManage.wrjModel == WRJModel. ?
unmannedAerialVehicleManage.dzWRJCamera.targetTexture : unmannedAerialVehicleManage.gxWRJCamera.targetTexture; unmannedAerialVehicleManage.dzWRJCamera.targetTexture : unmannedAerialVehicleManage.gxWRJCamera.targetTexture;
renderTextures.Add(renderTexture); renderTextures.Add(renderTexture);
radioAngleViews.Add(radioAngleViewMain);
} }
} }
} }
} }
/// <summary> /// <summary>
/// 删除无人机UI /// 删除无人机UI
/// </summary> /// </summary>
@ -134,4 +144,30 @@ public class DroneViewDisplay : MonoSingleton<DroneViewDisplay>
} }
} }
} }
/// <summary>
/// 打开放大UI
/// </summary>
/// <param name="_textNmme"></param>
/// <param name="rawShow"></param
public void RadioAngleViewMaxShow(string _textNmme , RawImage _rawShow, WRJModel wRJModel)
{
rawShow.texture = null;
radioAngleViewMax.localScale = Vector3.one;
textNmme.text = _textNmme;
rawShow.texture = _rawShow.texture;
Mask mask = radioAngleViewMax.transform.GetComponentInChildren<Mask>();
if (mask)
mask.enabled = wRJModel == WRJModel. ? true : false;
}
void OnDestroy()
{
for (int i = 0; i < renderTextures.Count; i++)
{
Destroy((RenderTexture)renderTextures[i]);
}
}
} }

View File

@ -13,6 +13,10 @@ public class RadioAngleView : MonoBehaviour
/// </summary> /// </summary>
public string deviceID; public string deviceID;
/// <summary> /// <summary>
/// 无人机类型
/// </summary>
public WRJModel typeWRJ;
/// <summary>
/// 无人机 /// 无人机
/// </summary> /// </summary>
public Text textNmme; public Text textNmme;
@ -32,17 +36,19 @@ public class RadioAngleView : MonoBehaviour
void Start() void Start()
{ {
textNmme=transform.Find("名称").GetComponent<Text>(); //textNmme=transform.Find("名称").GetComponent<Text>();
btnAmplification = transform.Find("放大查看").GetComponent<Button>(); //btnAmplification = transform.Find("放大查看").GetComponent<Button>();
btnClose = transform.Find("关闭").GetComponent<Button>(); //btnClose = transform.Find("关闭").GetComponent<Button>();
rawShow=transform.GetComponentInChildren<RawImage>(); //rawShow=transform.GetComponentInChildren<RawImage>();
btnAmplification.onClick.AddListener(() => btnAmplification.onClick.AddListener(() =>
{ {
//吧放大UI打开 //吧放大UI打开
DroneViewDisplay.Instance.RadioAngleViewMaxShow(textNmme.text, rawShow, typeWRJ);
}); });
btnClose.onClick.AddListener(() => btnClose.onClick.AddListener(() =>
{ {
transform.localScale = Vector3.zero; transform.localScale = Vector3.zero;
transform.SetAsLastSibling();// 移到父物体的最后一个位置
}); });
} }