public TrainController(ISimulationEnvironment env, ITrainModel tm) { _environment = env; _environment.Tick += _environment_Tick; _tcGUI = null; Train = tm; _log = ""; _announcements = new Dictionary <int, string>(); _announcements.Add(8, "Arrived at Shadyside Station\r\n"); _announcements.Add(16, "Arrived at Herron Station\r\n"); _announcements.Add(21, "Arrived at Swissville Station\r\n"); _announcements.Add(25, "Arrived at Penn Station\r\n"); _announcements.Add(35, "Arrived at Steel Plaza Station\r\n"); _announcements.Add(45, "Arrived at First Avenue Station\r\n"); _announcements.Add(60, "Arrived at South Hills Junction\r\n"); _announcements.Add(2, "Arrived at Pioneer Station\r\n"); _announcements.Add(9, "Arrived at Edgebrook Station\r\n"); _announcements.Add(22, "Arrived at Whited Station\r\n"); _announcements.Add(31, "Arrived at South Bank Station\r\n"); _announcements.Add(39, "Arrived at Central Station\r\n"); _announcements.Add(48, "Arrived at Inglewood Station\r\n"); _announcements.Add(57, "Arrived at Overbrook Station\r\n"); _announcements.Add(65, "Arrived at Glenbury Junction\r\n"); _announcements.Add(73, "Arrived at Dormont Station\r\n"); _announcements.Add(77, "Arrived at Mt. Lebanon Station\r\n"); _announcements.Add(96, "Arrived at Castle Shannon Station\r\n"); _announcements.Add(105, "Arrived at Dormont Station\r\n"); _announcements.Add(114, "Arrived at Glenbury Junction\r\n"); _announcements.Add(123, "Arrived at Overbrook Station\r\n"); _announcements.Add(132, "Arrived at Inglewood Station\r\n"); _announcements.Add(141, "Arrived at Central Station\r\n"); }
public TrainController(ISimulationEnvironment env, ITrainModel tm) { _environment = env; _environment.Tick += _environment_Tick; _tcGUI = null; Train = tm; _log = ""; _announcements = new Dictionary<int, string>(); _announcements.Add(8, "Arrived at Shadyside Station\r\n"); _announcements.Add(16, "Arrived at Herron Station\r\n"); _announcements.Add(21, "Arrived at Swissville Station\r\n"); _announcements.Add(25, "Arrived at Penn Station\r\n"); _announcements.Add(35, "Arrived at Steel Plaza Station\r\n"); _announcements.Add(45, "Arrived at First Avenue Station\r\n"); _announcements.Add(60, "Arrived at South Hills Junction\r\n"); _announcements.Add(2, "Arrived at Pioneer Station\r\n"); _announcements.Add(9, "Arrived at Edgebrook Station\r\n"); _announcements.Add(22, "Arrived at Whited Station\r\n"); _announcements.Add(31, "Arrived at South Bank Station\r\n"); _announcements.Add(39, "Arrived at Central Station\r\n"); _announcements.Add(48, "Arrived at Inglewood Station\r\n"); _announcements.Add(57, "Arrived at Overbrook Station\r\n"); _announcements.Add(65, "Arrived at Glenbury Junction\r\n"); _announcements.Add(73, "Arrived at Dormont Station\r\n"); _announcements.Add(77, "Arrived at Mt. Lebanon Station\r\n"); _announcements.Add(96, "Arrived at Castle Shannon Station\r\n"); _announcements.Add(105, "Arrived at Dormont Station\r\n"); _announcements.Add(114, "Arrived at Glenbury Junction\r\n"); _announcements.Add(123, "Arrived at Overbrook Station\r\n"); _announcements.Add(132, "Arrived at Inglewood Station\r\n"); _announcements.Add(141, "Arrived at Central Station\r\n"); }
public ITrainModel RemoveTrian(ITrainModel train) { ITrainModel toRemove = null; foreach (ITrainModel t in _trains) { //check if train ID's match.. need ITrain class to implement if (train.TrainID == t.TrainID) { toRemove = t; break; } } return(toRemove); }
public void RemoveTrain(ITrainModel train) { _allTrains.Remove(train); }
public void AddTrain(ITrainModel train) { _allTrains.Add(train); }
public ITrainModel RemoveTrian(ITrainModel train) { ITrainModel toRemove = null; foreach (ITrainModel t in _trains) { //check if train ID's match.. need ITrain class to implement if (train.TrainID == t.TrainID) { toRemove = t; break; } } return toRemove; }
public void AddTrain(ITrainModel train) { _trains.Add(train); }
public TrainAndBlock() { _train = null; _block = null; }
/// <summary> /// Manages Trains on Track /// </summary> public void PopulateTrack() { _populateTrackMutex.WaitOne(); //_env.stopTick(); //_env.Tick -= _env_Tick; //clear current trains //foreach(IBlock b in _containedBlocks) for (int i = 0; i < _containedTrainAndBlock.Count; i++) { IBlock b = _containedTrainAndBlock[i].Block; if (b.Line.CompareTo("Red") == 0) { if (!(b.SpeedLimit == 500 || b.SpeedLimit == -1)) { LayoutCellDataContainer c = _redLineData.TriangulateContainer(b); c.Tile = _redLineData.GetBlockType(b); c.Train = null; if (c.Panel != null) { c.Panel.ReDrawMe(); } } }//end if else { if (!(b.SpeedLimit == 500 || b.SpeedLimit == -1)) { LayoutCellDataContainer c = _greenLineData.TriangulateContainer(b); c.Tile = _greenLineData.GetBlockType(b); c.Train = null; if (c.Panel != null) { c.Panel.ReDrawMe(); } } } //end if } //end foreach //make list of new trains _containedTrainAndBlock.Clear(); //foreach (ITrainModel t in _env.AllTrains) for (int i = 0; i < _env.AllTrains.Count; i++) { ITrainModel t = _env.AllTrains[i]; TrainAndBlock tb = new TrainAndBlock(); tb.Train = t; tb.Block = t.CurrentBlock; _containedTrainAndBlock.Add(tb); }//end foreach //update graphics //foreach (IBlock b in _containedBlocks) for (int i = 0; i < _containedTrainAndBlock.Count; i++) { TrainAndBlock tb = _containedTrainAndBlock[i]; if (tb.Block.Line.CompareTo("Red") == 0) { if (!(tb.Block.SpeedLimit == 500 || tb.Block.SpeedLimit == -1)) { LayoutCellDataContainer c = _redLineData.TriangulateContainer(tb.Block); c.Tile = _res.Train; c.Train = tb.Train; if (c.Panel != null) { string msg = "Red Line: Train ID: " + c.Train.TrainID + " is now on Block: " + c.Block.BlockID + "."; _messages.Add(msg); _env.SendLogEntry("CTC Office: " + msg); c.Panel.ReDrawMe(); } } }//end if else { if (!(tb.Block.SpeedLimit == 500 || tb.Block.SpeedLimit == -1)) { LayoutCellDataContainer c = _greenLineData.TriangulateContainer(tb.Block); c.Tile = _res.Train; c.Train = tb.Train; if (c.Panel != null) { string msg = "Green Line: Train ID: " + c.Train.TrainID + " is now on Block: " + c.Block.BlockID + "."; _messages.Add(msg); _env.SendLogEntry("CTC Office: " + msg); c.Panel.ReDrawMe(); } } } //end if } //end for each _populateTrackMutex.ReleaseMutex(); //_env.Tick += _env_Tick; //_env.startTick(); }//End Populate Track
public ShowTrainEventArgs(ITrainModel train) { _train = train; }