using Newtonsoft.Json.Linq; using Newtonsoft.Json; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; using UnityEngine.UI; using UnityEngine.UIElements; using Toggle = UnityEngine.UI.Toggle; using UnityAsync; using WaitUntil = UnityAsync.WaitUntil; using Unity.VisualScripting; using System.Threading.Tasks; using Button = UnityEngine.UI.Button; [System.Serializable] public class QXZData { public int ADDVCD; public float ALT; public double LGTD; public double LTTD; public int ROWNUM_; public string STCD; public string STLC; public string STNM; public float dropSum6; } [System.Serializable] public class ServerObsDatas { public class ServerObsData { public string channelId; public string deviceId; public string name; public string ipAddress; public string ptzTypeText; public bool status; } public int total; public List list; } [System.Serializable] public class SWZData { // 行政区划代码 public string ADDVCD; // 行政管理单位 public string ADMAUTH; // 观测站所属单位 public string ATCUNIT; // 建站年月 public string BGFRYM; // 河流名称 public string BSNM; // 备注 public string COMMENTS; // 流域名称 public string DRNA; // 河流流域代码 public string DSTRVM; // 站点更名前站名 public string DTMEL; // 站点更名前名称 public string DTMNM; // 数据处理人 public string DTPR; // 建成年月 public string ESSTYM; // 站点等级 public string FRGRD; // 水系名称 public string HNNM; // 经度 public double LGTD; // 地区 public string LOCALITY; // 纬度 public double LTTD; // 修改时间 public string MODITIME; // 水文站代码 public string PHCD; // 行号 public int ROWNUM_; // 河道名称 public string RVNM; // 站点状态 public string STAZT; // 站点基础 public string STBK; // 站点代码 public string STCD; // 站点位置 public string STLC; // 站点名称 public string STNM; // 站点类型 public string STTP; // 是否使用 public string USFL; // 最近6小时降水量 public float dropSum6; // 天气 public string wth; } public class GCJKLayer : YZTRootLayer { public static GCJKLayer _Instance; //泵站监控面板 private RectTransform _bengZhanJianKongPanel; private RectTransform _bengZhanJianKongContent; [Header("泵站监控数据预制体")] public GameObject BengZhanJianKongItemOri; [Header("泵站监控数据")] public List BengZhanJianKongDatas; private List currentBengZhanJianKongItems; //闸站监测 private RectTransform _zhaZhanJianKongPanel; private RectTransform _zhaZhanJianKongContent; [Header("闸站监测数据预制体")] public GameObject ZhaZhanJianKongItemOri; private List currentZhaZhanJianKongItems; //水文监测 private RectTransform _shuiWenJianCePanel; private Text _wenduText; private Text _shiduText; private Text _qiyaText; private Text _fengXiangText; private Text _fengLiText; private Text _yuLiangText; [Header("水文监测数据")] public ShuiWenJianCeData currentShuiWenJianCeData; //工程安全检测 //检测数据 private Text _pingJunLiuLiangText; private Text _zuiGaoShuiWeiText; private Text _zuiDaLiuLiangText; private Text _gongChengGaoJingText; private Text _zhengChangYunXingText; [Header("工程安全检测-检测数据")] public GongChengJianCeData currentGongChengJianCeData; //工程列表 private RectTransform _gongChengLieBiaoContent; public GameObject GongChengLieBiaoItemOri; private List currentGongChengLieBiaoItems = new List(); private Button GClist_QuanBuButton; private Button GClist_ShuiWeiButton; private Button GClist_ShuiYaButton; private Button GClist_WeiYiButton; private Button GClist_ShiPinButton; //视频监控 [Header("监控数据")] public ObsPlayerPanel obsPanel; public GameObject obsItemPrefab; private Transform obsItemContent; private List _obsItems; public GameObject obsIconPrefab; private Transform _obsIconContent; private List _obsIconCtrls; private InputField _obsSearchInputField; //水位图标 [Header("水位数据")] public GameObject shuiweiIconPrefab; private List _shuiWeiIconCtrls = new List(); private Transform _shuiWeiIconContent; //水压 public GameObject shuiYaIconPrefab; private List _shuiYaIconCtrls = new List(); private Transform _shuiYaIconContent; //位移 public GameObject weiYiIconPrefab; private List _weiYiIconCtrls = new List(); private Transform _weiYiIconContent; private Toggle obsToggle; private Toggle shuiWeiToggle; private Toggle shuiYaToggle; private Toggle weiYiToggle; public RectTransform main; public RectTransform miniMap; public UnityEngine.UI.Button globalWeatherBtn; public UnityEngine.UI.Button exitGlobalWeatherBtn; private ShuiWeiHistoryPanel _shuiWeiHistoryPanel; public RectTransform miniMapQXContent; public RectTransform miniMapSWContent; public GameObject dropUnitPrefab; public GameObject weatherUnitPrefab; public UnityEngine.UI.Button qxDataBtn; public UnityEngine.UI.Button swDataBtn; public Sprite highLightBtn; public Sprite normalBtn; public Toggle dropToggle; public Toggle weatherToggle; List dropUnits = new List(); List weatherUnits = new List(); public GameObject runtimePointObj; private int currentDataType = -1; public GameObject loading; public Button buyuanBtn; public Button taokouBtn; public DeviceTrendPanel _DeviceTrendPanel; private void Awake() { _Instance = this; Init(); _shuiWeiHistoryPanel = this.transform.Find("Main/ShuiWeiHistoryPanel").GetComponent(); _shuiWeiHistoryPanel.Init(); _shuiWeiHistoryPanel.gameObject.SetActive(false); buyuanBtn.onClick.AddListener(() => { buyuanBtn.GetComponent().alpha = 1f; taokouBtn.GetComponent().alpha = 0.5f; SetCurrentDataToPanel(0); }); taokouBtn.onClick.AddListener(() => { buyuanBtn.GetComponent().alpha = 0.5f; taokouBtn.GetComponent().alpha = 1f; SetCurrentDataToPanel(1); }); } private async void OnEnable() { StaticLod.instance.OnFoucusStatic(0); Debug.LogError(GlobalData.BuYuanShuiWeiDataList.Count + "333"); if (GlobalData.BuYuanShuiWeiDataList.Count < 1) { await HttpHelper._Instance.InitSWYJData(); } Debug.LogError(GlobalData.BuYuanShuiYaDataList.Count + "444"); if (GlobalData.BuYuanShuiYaDataList.Count < 1) { HttpHelper._Instance.GetBuYuanDevicesGroupInfo(); } Debug.LogError(GlobalData.TaoKouShuiYaDataList.Count + "555"); if (GlobalData.TaoKouShuiYaDataList.Count < 1) { HttpHelper._Instance.GetTaoKouDevicesGroupInfo(); } SetCurrentDataToPanel(0); } public void Init() { //泵站监控面板 _bengZhanJianKongPanel = this.transform.Find("BengZhanJianKong").GetComponent(); _bengZhanJianKongContent = _bengZhanJianKongPanel.Find("ScrollView/Viewport/Content").GetComponent(); currentBengZhanJianKongItems = new List(); if (BengZhanJianKongDatas != null && BengZhanJianKongDatas.Count > 0) { for (int i = 0; i < BengZhanJianKongDatas.Count; i++) { BengZhanJianKongItem tempItem = Instantiate(BengZhanJianKongItemOri, _bengZhanJianKongContent) .GetComponent(); tempItem.Init(); tempItem.SetData(BengZhanJianKongDatas[i]); currentBengZhanJianKongItems.Add(tempItem); } } //闸站 _zhaZhanJianKongPanel = this.transform.Find("ZhaZhanJianKong").GetComponent(); _zhaZhanJianKongContent = _zhaZhanJianKongPanel.Find("ScrollView/Viewport/Content").GetComponent(); currentZhaZhanJianKongItems = new List(); //水文 _shuiWenJianCePanel = this.transform.Find("ShuiWenJianCe").GetComponent(); _wenduText = _shuiWenJianCePanel.Find("WenDu/Text/numText").GetComponent(); _shiduText = _shuiWenJianCePanel.Find("ShiDu/Text/numText").GetComponent(); _qiyaText = _shuiWenJianCePanel.Find("QiYa/Text/numText").GetComponent(); _fengXiangText = _shuiWenJianCePanel.Find("FengXiang/Text/numText").GetComponent(); _fengLiText = _shuiWenJianCePanel.Find("FengLi/Text/numText").GetComponent(); _yuLiangText = _shuiWenJianCePanel.Find("YuLiang/Text/numText").GetComponent(); if (currentShuiWenJianCeData != null) { _wenduText.text = $"{currentShuiWenJianCeData.wendu}\u2103"; _shiduText.text = $"{currentShuiWenJianCeData.shidu} %"; _qiyaText.text = $"{currentShuiWenJianCeData.qiya} kPa"; _fengXiangText.text = $"{currentShuiWenJianCeData.fengxiang} 风"; _fengLiText.text = $"{currentShuiWenJianCeData.fengli} 级"; _yuLiangText.text = $"{currentShuiWenJianCeData.yuliang} mm"; } //监测数据 _pingJunLiuLiangText = this.transform.Find("RightUp/ShuJuJianCe/PingJunLiuLiang/title/numText") .GetComponent(); _zuiGaoShuiWeiText = this.transform.Find("RightUp/ShuJuJianCe/ZuiGaoShuiWei/title/numText") .GetComponent(); _zuiDaLiuLiangText = this.transform.Find("RightUp/ShuJuJianCe/ZuiDaLiuLiang/title/numText") .GetComponent(); _gongChengGaoJingText = this.transform.Find("RightUp/ShuJuJianCe/DangRiJingGao/title/numText") .GetComponent(); _zhengChangYunXingText = this.transform.Find("RightUp/ShuJuJianCe/ZhengChangGongCheng/title/numText") .GetComponent(); if (currentGongChengJianCeData != null) { _pingJunLiuLiangText.text = $"{currentGongChengJianCeData.pinJunLiuLiang}"; _zuiGaoShuiWeiText.text = $"{currentGongChengJianCeData.zuiGaoShuiWei}"; _zuiDaLiuLiangText.text = $"{currentGongChengJianCeData.zuiDaLiuLiang}"; _gongChengGaoJingText.text = $"{currentGongChengJianCeData.gongChengJingGao}"; _zhengChangYunXingText.text = $"{currentGongChengJianCeData.zhengChangYunXing}"; } //工程列表 _gongChengLieBiaoContent = this.transform.Find("RightUp/GongChengLieBiao/ScrollView/Viewport/Content") .GetComponent(); GClist_QuanBuButton = this.transform.Find("RightUp/GongChengLieBiao/QuanBuButton").GetComponent