CTCOfficeGUI.InfoPanel.SetTrackBlockInfo C# (CSharp) Метод

SetTrackBlockInfo() публичный Метод

Sets the text information for a track block
public SetTrackBlockInfo ( TrackBlock block ) : void
block TrackBlock Track block
Результат void
        public void SetTrackBlockInfo(TrackBlock block)
        {
            if (block == null) return;

            m_displayedBlock = block;
            m_displayedTrain = null;

            Dictionary<string, string> info = new Dictionary<string, string>();
            if (block.Authority != null)
            {
                info.Add("Authority:", block.Authority.Authority.ToString());
            }

            if (block.Authority != null)
            {
                info.Add("CTC Speed Limit:", block.Authority.SpeedLimitKPH.ToString() + " " + KPH);
            }

            info.Add("Static Speed Limit:", block.StaticSpeedLimit.ToString() + " " + KPH);

            if (block.Status.TrainPresent)
            {
                info.Add("Train present:", "yes");
            }
            else
            {
                info.Add("Train present:", "no");
            }

            info.Add("Signal:", block.Status.SignalState.ToString());

            info.Add("Start Elevation:", block.StartElevationMeters.ToString() + " " + METERS);

            info.Add("End Elevation", block.EndElevationMeters.ToString() + " " + METERS);

            info.Add("Grade", block.Grade.ToString() + "%");

            info.Add("Length:", block.LengthMeters.ToString() + " " + METERS);

            if (block.HasTunnel)
            {
                info.Add("Has Tunnel:", "yes");
            }
            else
            {
                info.Add("Has Tunnel:", "no");
            }

            if (block.RailroadCrossing)
            {
                info.Add("Has RR Crossing:", "yes");
            }
            else
            {
                info.Add("Has RR Crossing:", "no");
            }

            if (block.Transponder != null) //Could use block.HasTransponder property, but check for null to be on the safe side...
            {
                if (block.Transponder.DistanceToStation != 0)
                {
                    info.Add("Transponder:", block.Transponder.StationName + "in " + block.Transponder.DistanceToStation.ToString() + " block(s)");
                }
                else
                {
                    info.Add("Transponder:", "At " + block.Transponder.StationName);
                }
            }
            else
            {
                info.Add("Transponder:", "none");
            }

            KeyValuePair<string, string> failure = GetBlockFailureStateString(block);
            info.Add(failure.Key, failure.Value);

            #if DEBUG
            info.Add("Start Point", block.StartPoint.X + ", " + block.StartPoint.Y);
            info.Add("End Point", block.EndPoint.X + ", " + block.EndPoint.Y);
            #endif
            SetInfo(block.Name, info);
        }