using Cysharp.Threading.Tasks; using System.Collections; using System.Collections.Generic; using UnityEngine; public class DataController : MonoSingleton { public string distCode; public AreaStationData areaStationData = new AreaStationData(); public CityInfo[] cityInfos; private async void Start() { areaStationData = await GetProvincialLevelStationData("37"); cityInfos = transform.GetComponentsInChildren(); for (int i = 0; i < cityInfos.Length; i++) { cityInfos[i].Init(); } } /// /// 针对区县 /// /// /// /// public async UniTask GetProvincialLevelStationInfo(string _distCode, string _disName) { if (_distCode.Length == 6) distCode = _distCode.Substring(0, 4); string url = Bootstrap.Instance.urlDic["地图信息汇总"]; AreaStationData areaStationData = await AsyncWebReq.Get(url + distCode, Bootstrap.Instance.webAdapter.head, Bootstrap.Instance.webAdapter.token); DataItem sts = areaStationData.data.Find(s => s.disName == _disName); if (sts == null) return null; return sts.screenTopStatistics; } /// /// 针对省级区域 /// /// /// public ScreenTopStatistics GetProvincialLevelStationDataByDistCode(string _distCode) { for (int i = 0; i < areaStationData.data.Count; i++) { if (areaStationData.data[i].distCode == _distCode) { return areaStationData.data[i].screenTopStatistics; } } return null; } /// /// 获取每个区域的聚合信息 /// /// /// public async UniTask GetAreaDataByDistCode(string _distCode) { await UniTask.Delay(100); string url = Bootstrap.Instance.urlDic["地图弹出框"]; AreaData areaData = await AsyncWebReq.Get($"{url}{_distCode}", Bootstrap.Instance.webAdapter.head, Bootstrap.Instance.webAdapter.token); if (!bool.Parse(areaData.success)) return null; return areaData; } /// /// 获取地图汇总 /// /// /// private async UniTask GetProvincialLevelStationData(string _distCode) { string url = Bootstrap.Instance.urlDic["地图信息汇总"]; AreaStationData areaStationData = await AsyncWebReq.Get(url + _distCode, Bootstrap.Instance.webAdapter.head, Bootstrap.Instance.webAdapter.token); return areaStationData; } }