|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
using UnityEngine.EventSystems;
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
|
|
|
|
public class GameModeWindow : WindowBase
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
[HideInInspector]
|
|
|
|
|
public List<string> BuShuOKlist = new List<string>();
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|