using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; using UnityEngine.Serialization; using UnityEngine.UI; using UnityAsync; using XCharts.Runtime; using Newtonsoft.Json.Linq; using Newtonsoft.Json; using Unity.Mathematics; using static XCharts.Runtime.RadarCoord; public enum shuiWeiYuJingDataType { BuYuan, TaoKou } [System.Serializable] public class StationData:IComparable { public string stnm; // 站名 public string lgtd; // 经度 public string lttd; // 纬度 public string stcd; // 站码 public float? upz; // 上水位 public float? dwz; // 下水位 public float? tgtq; // 流量 public string tm; // 时间 public string swchrcd; public string msqmt; public string sdwwptn; public string supwptn; public string rownum_; public int CompareTo(object obj) { if (obj is not StationData other) return 1; // 或抛异常 throw new ArgumentException("Invalid comparison"); float thisMax = MathF.Max(dwz ?? 0, upz ?? 0); float otherMax = MathF.Max(other.dwz ?? 0, other.upz ?? 0); // 降序:最大值排前面 if (thisMax > otherMax) return -1; else if (thisMax < otherMax) return 1; else return 0; } } public class SWYJLayer : YZTRootLayer { public shuiWeiYuJingDataType currentDataType = shuiWeiYuJingDataType.BuYuan; //全域雨量 private Text _dangQianYuLiangText; private Text _zuiDaYuLiangText; private Text _pingJunYuLiangText; private Text _chaoJingZhanDianText; private Text _weatherTypeText; private Image _weatherTypeIcon; private QuanYuYuLiangData currentQuanYuYuLiangData = null; //站点排名 private Text _paiMing_1_Text; private Text _paiMing_6_Text; private Text _paiMing_12_Text; private Text _paiMing_24_Text; private Text _paiMing_1_Name_Text; private Text _paiMing_6_Name_Text; private Text _paiMing_12_Name_Text; private Text _paiMing_24_Name_Text; //工程安全监测 //检测数据 private Text _pingJunShuiWeiText; private Text _sheFangShuiWeiText; private Text _jingJieShuiWeiText; private Text _baoZhengShuiWeiText; private Text _shuiWeiText; //水位变化与统计 private BarChart shuiWeiBianHua; [Header("工程安全监测-水位变化与统计数据")] public ShuiWeiBianHuaData ShuiWeiBianHuaData_TK_Month; public ShuiWeiBianHuaData ShuiWeiBianHuaData_TK_Day; public ShuiWeiBianHuaData ShuiWeiBianHuaData_TK_Hour; private Dropdown shuiWeiBarChartDropdown; //异常警告 [Header("异常警告数据")] public List currentYiChangJingGaoDatas; private List currentYiChangJingGaoItems; private RectTransform _yiChangJingGaoListContent; public GameObject YiChangJingGaoItemOri; public RectTransform main; public RectTransform miniMap; public UnityEngine.UI.Button globalSWBtn; public UnityEngine.UI.Button exitGlobalSWBtn; public Sprite highLightBtn; public Sprite normalBtn; private Button BuYuanDataButton; private Button TaoKouDataButton; public GameObject miniMapSWContent; public List sWHeightUnits = new List(); public GameObject sWHeightUnitPrefab; public GameObject runtimePointObj; public GameObject shuiweiIconPrefab; private List _shuiWeiIconCtrls = new List(); private Transform _shuiWeiIconContent; private bool creatShuiWeiIcon = false; public GameObject zdpmParent; public GameObject zdpmPrefab; //public GameObject[] zdpmObjs; private void Awake() { Init(); BuYuanDataButton = this.transform.Find("Main/BuYuanButton").GetComponent