public void PopulateTransportLineLabels() { foreach (var index in TransportUtil.GetUsedTransportLineIndices()) { if (TransportUtil.GetTransportLineType(index) != Type) { continue; } var go = new GameObject(Enum.GetName(typeof(TransportInfo.TransportType), Type) + "LineRow"); var uic = go.AddComponent <UITransportLineRow>(); uic.LineID = index; uic.IsLineHidden = TransportUtil.IsTransportLineHidden(index); _transportLineLabels.Add(go); } _transportLineLabels.Sort( (left, right) => String.Compare(left.GetComponent <UITransportLineRow>() .LineName, right.GetComponent <UITransportLineRow>().LineName, StringComparison.OrdinalIgnoreCase) ); bool odd = false; foreach (var go in _transportLineLabels) { AttachUIComponent(go); go.GetComponent <UITransportLineRow>().IsOdd = odd; odd = !odd; } var neededHeight = _transportLineLabels.Count * (16 + 2) + 95; height = Mathf.Clamp(neededHeight, 347, 1000); switch (Type) { case TransportInfo.TransportType.Bus: _title.TitleText = String.Format("Bus Lines ({0})", _transportLineLabels.Count); break; case TransportInfo.TransportType.Metro: _title.TitleText = String.Format("Metro Lines ({0})", _transportLineLabels.Count); break; case TransportInfo.TransportType.Train: _title.TitleText = String.Format("Train Lines ({0})", _transportLineLabels.Count); break; } }
public override void Update() { base.Update(); var residents = TransportUtil.GetResidentPassengerCount(LineID); var tourists = TransportUtil.GetTouristPassengerCount(LineID); var lineName = TransportUtil.GetLineName(LineID); if (lineName != LineName) { var handlers = LineNameChanged; if (handlers != null) { handlers(LineID); } } LineName = lineName; _name.text = LineName.Trim(); /*bool clipped = false; * while (_name.width > 110) * { * _name.text = _name.text.Remove(_name.text.Length - 1); * clipped = true; * } * if (clipped) * _name.text = _name.text.Trim() + "...";*/ _stops.text = Stops.ToString(); _passengers.text = String.Format("{0}/{1}", residents, tourists); _trips.text = String.Format("{0}%", Trips); _vehicles.text = Vehicles.ToString(); _color.selectedColor = TransportUtil.GetLineColor(LineID); IsChecked = !TransportUtil.IsTransportLineHidden(LineID); }