using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class InfoWnd : MonoBehaviour { public Text carInTxt; public Text carOutTxt; public Text carAllTxt; public Text dateTxt; public Button roadInfoCloseBtn; //路况检测窗口 public GameObject roadInfoWnd; public GameObject colorTitle; public Transform roadInfoGroup; public string date; //路况信息字典 public Dictionary Road_Dict = new Dictionary(); public void Init() { if (roadInfoWnd.activeSelf) { SetRoadInfoActive(false); } roadInfoCloseBtn.onClick.AddListener(()=> { SetRoadInfoActive(false); }); InitRoadDict(); } //初始化路况字典 private void InitRoadDict() { for (int i = 0; i < roadInfoGroup.childCount; i++) { RoadInfo info = new RoadInfo(); Text txt = roadInfoGroup.transform.GetChild(i).GetComponent(); info.roadName = roadInfoGroup.transform.GetChild(i).name; info.flowRate = 100; info.carFlow = 0; info.Iswarning = false; txt.text = string.Format(" ▶ "+"{0:G}"+" "+"{1:G}"+" "+ "{2:00.00}"+ "%"+" "+ "{3:G}", info.roadName,info.carFlow,info.flowRate,info.Iswarning?"是":"否"); Road_Dict.Add(info.roadName, info); } } //更新路况信息方法 public void UpdateRoadDict(string roadName) { RoadInfo info = null; if(Road_Dict.TryGetValue(roadName,out info)) { Text txt= roadInfoGroup.Find(roadName).GetComponent(); txt.text = string.Format(" ▶ " + "{0:G}" + " " + "{1:G}" + " " + "{2:00.00}" + "%" + " " + "{3:G}", info.roadName, info.carFlow, info.flowRate, info.Iswarning ? "是" : "否"); } } //TODo public RoadInfo GetRoadInfo(string roadName) { RoadInfo info = new RoadInfo(); if(Road_Dict.TryGetValue(roadName, out info)) { return info; } return null; } public void SetCarInText(int Addvalue) { int n = int.Parse(carInTxt.text) + Addvalue; carInTxt.text = n.ToString(); int n1 = int.Parse(carAllTxt.text) + Addvalue; carAllTxt.text = n1.ToString(); } public void SetCarOutText(int Addvalue) { int n = int.Parse(carOutTxt.text) + Addvalue; carOutTxt.text = n.ToString(); int n1 = int.Parse(carAllTxt.text) + Addvalue; carAllTxt.text = n1.ToString(); } public void SetColorTitleActive() { if (colorTitle.activeSelf != false) { colorTitle.SetActive(false); } else { colorTitle.SetActive(true); } } public void UpdateTime() { var hour = DateTime.Now.Hour; var minute = DateTime.Now.Minute; var second = DateTime.Now.Second; var year = DateTime.Now.Year; var month = DateTime.Now.Month; var day = DateTime.Now.Day; date = string.Format("{0:D4}/{1:D2}/{2:D2}" + "-" + "{3:D2}:{4:D2}:{5:D2} ", year, month, day, hour, minute, second); dateTxt.text = date; } public void SetRoadInfoActive(bool t) { roadInfoWnd.SetActive(t); } }