using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class GameModeWindow : WindowBase { [HideInInspector] public List BuShuOKlist = new List(); public int AllBuShuIndex; [Header("窗口控件")] public GameObject tangFangWnd; public GameObject huapoWnd,zhangAiWnd,shiGuWnd; public GameObject UACWnd; public GameObject publicUIWnd; [Header("交互UI")] public Button xunjianBtn; public Button UACViewBtn; public Button UACheckBtn; [Header("场景控件")] public GameObject tafangScene; public UAVRescue.UAVController UAV; public Camera mainCamera; public Camera UAVCamera; public GameObject miniMap; public Slider imgAnlySlider; private bool isCheckView = false; private bool canCheckImg = false; public override void Init() { base.Init(); xunjianBtn.onClick.AddListener(() => { EnterXunJian(); }); UACViewBtn.onClick.AddListener(EnterUACViewMode); UACheckBtn.onClick.AddListener(EnterUACCheckMode); } public void AddBushuInfo(string AearName) { if (!BuShuOKlist.Contains(AearName)) { BuShuOKlist.Add(AearName); } } public bool CheckBushuState() { if (BuShuOKlist.Count < AllBuShuIndex) { int num = AllBuShuIndex - BuShuOKlist.Count; GameRoot.Instance.AddTipQueue("目前已部署"+BuShuOKlist.Count+"处区域,还需部署"+num+"处区域"); return false; } else { return true; } } public void SetTaFangModeActive(bool b) { if (b) { tafangScene.gameObject.SetActive(true); tangFangWnd.SetActive(true); } else { } } private void Update() { CheckImageInCheckMode(); } public void EnterXunJian() { UAV.enabled = true; isCheckView = false; mainCamera.gameObject.SetActive(false); UAVCamera.gameObject.SetActive(true); miniMap.gameObject.SetActive(true); GameRoot.Instance.menuWindow.gameObject.SetActive(false); xunjianBtn.gameObject.SetActive(false); UACWnd.SetActive(true); } public void EnterUACViewMode() { if (!isCheckView) return; isCheckView = false; UACheckBtn.image.color = Color.white; UACViewBtn.image.color = Color.green; } public void EnterUACCheckMode() { if (isCheckView) return; isCheckView = true; UACheckBtn.image.color = Color.green; UACViewBtn.image.color = Color.white; } private void CheckImageInCheckMode() { if (!isCheckView) return; if (Input.GetMouseButtonDown(0)&& !EventSystem.current.IsPointerOverGameObject()) { imgAnlySlider.transform.parent.gameObject.SetActive(true); canCheckImg = true; UAV.canControl = false; } else if (Input.GetMouseButtonUp(0)) { imgAnlySlider.transform.parent.gameObject.SetActive(false); canCheckImg = false; imgAnlySlider.value = 0; UAV.canControl = true; } if (Input.GetMouseButton(0)&&canCheckImg) { if (imgAnlySlider.value >= 1) { //提示是否有异常 if (UAV.isChecked) { } else { GameRoot.Instance.AddTipQueue("此区域未分析出异常"); imgAnlySlider.transform.parent.gameObject.SetActive(false); canCheckImg = false; imgAnlySlider.value = 0; UAV.canControl = true; } } else { imgAnlySlider.value += 0.25f * Time.deltaTime; } } } }