You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.2 KiB
71 lines
2.2 KiB
4 years ago
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
using UnityEngine.UI;
|
||
|
using System.Linq;
|
||
|
public class PowerMessage : MonoBehaviour
|
||
|
{
|
||
|
public GameObject CarMsgPrefab;
|
||
|
public Transform CarMsgParent;
|
||
|
public Text NowDis;
|
||
|
public Text NowTime;
|
||
|
private List<KeyValuePair<FireCarEngine, int>> MyCarList = new List<KeyValuePair<FireCarEngine, int>>();
|
||
|
private float showTime = 5f;
|
||
|
void Start()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
//用来显示车辆信息的方法
|
||
|
public void ShowMessage(List<KeyValuePair<FireCarEngine, int>> CarList, string Distance, string time)
|
||
|
{
|
||
|
showTime = 5f;
|
||
|
if (MyCarList != CarList)
|
||
|
{
|
||
|
MyCarList = CarList;
|
||
|
CarMsgShow(CarList);
|
||
|
}
|
||
|
NowDis.text = Distance;
|
||
|
NowTime.text = time;
|
||
|
if (!gameObject.activeSelf)
|
||
|
gameObject.SetActive(true);
|
||
|
}
|
||
|
|
||
|
public void CarMsgShow(List<KeyValuePair<FireCarEngine, int>> ShowCarList)
|
||
|
{
|
||
|
foreach (Transform t in CarMsgParent)
|
||
|
{
|
||
|
Destroy(t.gameObject);
|
||
|
}
|
||
|
if (ShowCarList.Count > 0)
|
||
|
{
|
||
|
//var GroupResult = from FireCarEngine in ShowCarList group FireCarEngine by FireCarEngine.TypeName;
|
||
|
//foreach (IGrouping<string, FireCarEngine> item in GroupResult)
|
||
|
//{
|
||
|
// GameObject c = Instantiate(CarMsgPrefab, CarMsgParent);
|
||
|
// c.transform.Find("CarName").GetComponent<Text>().text = item.Key;
|
||
|
// c.transform.Find("CarNum").GetComponent<Text>().text = item.Count().ToString();
|
||
|
//}
|
||
|
|
||
|
foreach (KeyValuePair<FireCarEngine, int> item in ShowCarList)
|
||
|
{
|
||
|
GameObject c = Instantiate(CarMsgPrefab, CarMsgParent);
|
||
|
c.transform.Find("CarName").GetComponent<Text>().text = item.Key.TypeName;
|
||
|
c.transform.Find("CarNum").GetComponent<Text>().text = item.Value.ToString();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void Update()
|
||
|
{
|
||
|
if (gameObject.activeSelf)
|
||
|
{
|
||
|
showTime -= Time.deltaTime;
|
||
|
if (showTime <= 0)
|
||
|
{
|
||
|
gameObject.SetActive(false);
|
||
|
showTime = 5f;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|