public void HandleEvent(PowerSupplyEvent evt) { Event soundEvent = Event.None; switch (evt) { case PowerSupplyEvent.LowerPantograph: if (State == PantographState.Up || State == PantographState.Raising) { State = PantographState.Lowering; switch (Id) { default: case 1: soundEvent = Event.Pantograph1Down; break; case 2: soundEvent = Event.Pantograph2Down; break; } } break; case PowerSupplyEvent.RaisePantograph: if (State == PantographState.Down || State == PantographState.Lowering) { State = PantographState.Raising; switch (Id) { default: case 1: soundEvent = Event.Pantograph1Up; break; case 2: soundEvent = Event.Pantograph2Up; break; } } break; } if (soundEvent != Event.None) { foreach (var eventHandler in Wagon.EventHandlers) { eventHandler.HandleEvent(soundEvent); } } }
public void HandleEvent(PowerSupplyEvent evt) { Event soundEvent = Event.None; switch (evt) { case PowerSupplyEvent.LowerPantograph: if (State == PantographState.Up || State == PantographState.Raising) { State = PantographState.Lowering; switch (Id) { default: case 1: soundEvent = Event.Pantograph1Down; Confirm(CabControl.Pantograph1, CabSetting.Off); break; case 2: soundEvent = Event.Pantograph2Down; Confirm(CabControl.Pantograph2, CabSetting.Off); break; case 3: soundEvent = Event.Pantograph3Down; Confirm(CabControl.Pantograph3, CabSetting.Off); break; case 4: soundEvent = Event.Pantograph4Down; Confirm(CabControl.Pantograph4, CabSetting.Off); break; } } break; case PowerSupplyEvent.RaisePantograph: if (State == PantographState.Down || State == PantographState.Lowering) { State = PantographState.Raising; switch (Id) { default: case 1: soundEvent = Event.Pantograph1Up; Confirm(CabControl.Pantograph4, CabSetting.On); break; case 2: soundEvent = Event.Pantograph2Up; Confirm(CabControl.Pantograph2, CabSetting.On); break; case 3: soundEvent = Event.Pantograph3Up; Confirm(CabControl.Pantograph3, CabSetting.On); break; case 4: soundEvent = Event.Pantograph4Up; Confirm(CabControl.Pantograph4, CabSetting.On); break; } if (!Simulator.TRK.Tr_RouteFile.Electrified) { Simulator.Confirmer.Warning(Simulator.Catalog.GetString("No power line!")); } if (Simulator.Settings.OverrideNonElectrifiedRoutes) { Simulator.Confirmer.Information(Simulator.Catalog.GetString("Power line condition overridden.")); } } break; } if (soundEvent != Event.None) { try { foreach (var eventHandler in Wagon.EventHandlers) { eventHandler.HandleEvent(soundEvent); } } catch (Exception error) { Trace.TraceInformation("Sound event skipped due to thread safety problem " + error.Message); } } }
public void HandleEvent(PowerSupplyEvent evt) { Event soundEvent = Event.None; switch (evt) { case PowerSupplyEvent.LowerPantograph: if (State == PantographState.Up || State == PantographState.Raising) { State = PantographState.Lowering; switch (Id) { default: case 1: soundEvent = Event.Pantograph1Down; break; case 2: soundEvent = Event.Pantograph2Down; break; case 3: soundEvent = Event.Pantograph3Down; break; case 4: soundEvent = Event.Pantograph4Down; break; } } break; case PowerSupplyEvent.RaisePantograph: if (State == PantographState.Down || State == PantographState.Lowering) { State = PantographState.Raising; switch (Id) { default: case 1: soundEvent = Event.Pantograph1Up; break; case 2: soundEvent = Event.Pantograph2Up; break; case 3: soundEvent = Event.Pantograph3Up; break; case 4: soundEvent = Event.Pantograph4Up; break; } } break; } if (soundEvent != Event.None) { try { foreach (var eventHandler in Wagon.EventHandlers) { eventHandler.HandleEvent(soundEvent); } } catch (Exception error) { Trace.TraceInformation("Sound event skipped due to thread safety problem " + error.Message); } } }
/// <summary> /// Used when someone want to notify us of an event /// </summary> public override void SignalEvent(Event evt) { base.SignalEvent(evt); }