using System; using System.Collections; using System.Collections.Generic; using DG.Tweening; using UnityEngine; using UnityEngine.UI; using System.IO; using Newtonsoft.Json; using UnityAsync; public class AreaFHXSData { public string areaName; public float totalPopulation; public float totalSize; public float totalFarmSize; public float totalPrize; public float startEva; public float endEva; } public class FHSSLayer : YZTRootLayer { private Text yuJingZongShuText; private Text chaoJingJieShuiWeiText; private Text chaoBaoZhengShuiWeiText; private Text chaoLiShiShuiWeiText; private Text chaoXunXianShuiWeiText; private Text zhengChangShuiWeiText; public Text ymmjText; public Text ymgdText; public Text yxrkText; public Text ccssText; public VerticalLayoutGroup shuiShiliebiaoParent; public List shuiShiLieBiaoItems = new List(); public ShuiShiLieBiaoItem shuiShiLieBiaoItem; [Header("水位状况")] public ShuiWeiZhuangKuangData shuiWeiZhuangKuangData; public WaterRangeCtrlTool mTools; public RectTransform[] hotPoints; public async void InitData() { WWW www = new WWW(Application.streamingAssetsPath + "/areaBaseData.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); string areaBaseDataContent = www.text; GlobalData.areaFHXSDatas = JsonConvert.DeserializeObject>(areaBaseDataContent); for (int i = 0; i < GlobalData.areaFHXSDatas.Count; i++) { ShuiShiLieBiaoItem tempItem = Instantiate(shuiShiLieBiaoItem); shuiShiLieBiaoItems.Add(tempItem); tempItem.transform.SetParent(shuiShiliebiaoParent.transform); tempItem.transform.localScale = Vector3.one; tempItem.SetData(GlobalData.areaFHXSDatas[i]); tempItem.Evaluate(1); } mTools.onCtrlChange = (float value) => { float ymmj = 0; float ymgd = 0; float yxrk = 0; float ccss = 0; for (int i = 0; i < shuiShiLieBiaoItems.Count; i++) { shuiShiLieBiaoItems[i].Evaluate(value); ymmj += shuiShiLieBiaoItems[i].currentMianJi; ymgd += shuiShiLieBiaoItems[i].currentGenDi; yxrk += shuiShiLieBiaoItems[i].currentRenKou; ccss += shuiShiLieBiaoItems[i].currentCaiChan; } ymmjText.text = ymmj.ToString("0.00") + "平方公里"; ymgdText.text = ymgd.ToString("0.0") + "亩"; yxrkText.text = yxrk.ToString("0") + "个"; ccssText.text = ccss.ToString("0.00") + "亿元"; }; } private void Awake() { yuJingZongShuText = this.transform.Find("ShuiWeiZhuangKuang/ShuiWeiYuJing/countText").GetComponent(); chaoJingJieShuiWeiText = this.transform.Find("ShuiWeiZhuangKuang/ChaoJingJieShuiWei/countText").GetComponent(); chaoBaoZhengShuiWeiText = this.transform.Find("ShuiWeiZhuangKuang/ChaoBaoZhengShuiWei/countText").GetComponent(); chaoLiShiShuiWeiText = this.transform.Find("ShuiWeiZhuangKuang/ChaoLiShiShuiWei/countText").GetComponent(); chaoXunXianShuiWeiText = this.transform.Find("ShuiWeiZhuangKuang/ChaoXunXianShuiWei/countText").GetComponent(); zhengChangShuiWeiText = this.transform.Find("ShuiWeiZhuangKuang/ZhengChangShuiWei/countText").GetComponent(); if (shuiWeiZhuangKuangData != null) { yuJingZongShuText.text = $"{shuiWeiZhuangKuangData.yuJingZongShu}个"; chaoJingJieShuiWeiText.text = $"{shuiWeiZhuangKuangData.chaoJingJieShuiWei}个"; chaoBaoZhengShuiWeiText.text = $"{shuiWeiZhuangKuangData.chaoBaoZhengShuiWei}个"; chaoLiShiShuiWeiText.text = $"{shuiWeiZhuangKuangData.chaoLiShiShuiWei}个"; chaoXunXianShuiWeiText.text = $"{shuiWeiZhuangKuangData.chaoXunXianShuiWei}个"; zhengChangShuiWeiText.text = $"{shuiWeiZhuangKuangData.zhengChangShuiWei}个"; } InitData(); } private void OnEnable() { StaticLod.instance.OnFoucusStatic("Bird0"); //StaticLod.instance.currentStatic.SetCameraToCenter(new Vector3(513.8401f, 20, 4938.701f), 21389, new Vector2(89.61806f, 85.64014f)); } private void LateUpdate() { if (hotPoints.Length > 3) { hotPoints[0].anchoredPosition = CameraManager.instance.mainCamera.WorldToScreenPoint(StaticLod.instance.staticImportants[0].transform.position) / Screen.width * 1920.0f; ; hotPoints[1].anchoredPosition = CameraManager.instance.mainCamera.WorldToScreenPoint(StaticLod.instance.staticImportants[1].transform.position) / Screen.width * 1920.0f; ; hotPoints[2].anchoredPosition = CameraManager.instance.mainCamera.WorldToScreenPoint(StaticLod.instance.staticImportants[3].transform.position) / Screen.width * 1920.0f; ; hotPoints[3].anchoredPosition = CameraManager.instance.mainCamera.WorldToScreenPoint(StaticLod.instance.staticImportants[6].transform.position) / Screen.width * 1920.0f; ; } } }