using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections; using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; using UnityEngine.Networking; using UnityEngine.UI; using UnityAsync; using WaitUntil = UnityAsync.WaitUntil; using Best.HTTP.Caching; [System.Serializable] public class YZTLayerData { public string layerName; public int layerID; } public enum LayerUnitType { ZZ = 1, BZ, NC, QXZ, JK, QT } [System.Serializable] public class LayerUnitData { public bool special; public LayerUnitType type; public float longitude; public float latitude; public string name; public string name_pri; public string text1; public string text2; } [System.Serializable] public class HotPointData { public LayerUnitType type; public float longitude; public float latitude; public string name; public string name_pri; } public class YZTLayer : YZTRootLayer { public VerticalLayoutGroup content; public Sprite[] layerSprite; public Sprite[] hotPointSprite; public LayerBtn layerBtnPrefab; public SecLayerBtn secLayerBtnPrefab; public YZTLayerData[] layerDatas; public RectTransform leftContent; public RectTransform middleContent; public RectTransform rightContent; List layerBtns = new List(); public RuntimePoint pointPrefab; public GameObject runtimePointObj; public RectTransform pointParent; List runtimePointLib = new List(); public GameObject yZTMini; public GameObject yZT; public RectTransform infoRight; public Button returnBtn; private float clickInterval; private Vector3 startClickPosition; public Button[] leftButtons; public Button layerButton; public int currentActiveLeft = 0; public RectTransform layerInfo; public Button layerInfoExitBtn; public List cancelLayer = new List(); public Sprite[] sprites; // Start is called before the first frame update async void Awake() { viewMode = ViewMode.miniMap; await InitData(); Init(); InitLeftBtn(); InitLayerInfo(); InitLayerBtns(); InitReturnBtn(); await InitPointData(); InitPoint(); } void InitLeftBtn() { for (int i = 0; i < leftButtons.Length; i++) { int temp = i; leftButtons[i].onClick.AddListener(() => { LeftBtnClick(temp); }); } LeftBtnClick(0); } void InitLayerInfo() { Button[] btns = layerInfo.GetComponentsInChildren