public MSTSElectricLocomotiveViewer(Viewer viewer, MSTSElectricLocomotive car) : base(viewer, car) { electricLocomotive = car; if (electricLocomotive.Train != null && (electricLocomotive.Train.TrainType == TrainType.Ai || ((electricLocomotive.Train.TrainType == TrainType.Player || electricLocomotive.Train.TrainType == TrainType.AiPlayerDriven || electricLocomotive.Train.TrainType == TrainType.AiPlayerHosting) && (electricLocomotive.Train.MUDirection != MidpointDirection.N && electricLocomotive.LocomotivePowerSupply.MainPowerSupplyOn)))) // following reactivates the sound triggers related to certain states // for pantos the sound trigger related to the raised panto must be reactivated, else SignalEvent() would raise also another panto { int iPanto = 0; foreach (Pantograph panto in electricLocomotive.Pantographs.List) { if (panto.State == PantographState.Up) { switch (iPanto) { case 0: electricLocomotive.SignalEvent(TrainEvent.Pantograph1Up); break; case 1: electricLocomotive.SignalEvent(TrainEvent.Pantograph2Up); break; case 2: electricLocomotive.SignalEvent(TrainEvent.Pantograph3Up); break; case 3: electricLocomotive.SignalEvent(TrainEvent.Pantograph4Up); break; default: electricLocomotive.SignalEvent(TrainEvent.Pantograph1Up); break; } } iPanto++; } electricLocomotive.SignalEvent(TrainEvent.EnginePowerOn); electricLocomotive.SignalEvent(TrainEvent.ReverserToForwardBackward); electricLocomotive.SignalEvent(TrainEvent.ReverserChange); } }
public MSTSElectricLocomotiveViewer(Viewer viewer, MSTSElectricLocomotive car) : base(viewer, car) { ElectricLocomotive = car; if (ElectricLocomotive.Train != null && car.Train.TrainType == Train.TRAINTYPE.AI) { ElectricLocomotive.SignalEvent(TrainEvent.Pantograph1Up); ElectricLocomotive.SignalEvent(TrainEvent.EnginePowerOn); ElectricLocomotive.SignalEvent(TrainEvent.ReverserToForwardBackward); ElectricLocomotive.SignalEvent(TrainEvent.ReverserChange); } }
public ScriptedElectricPowerSupply(MSTSElectricLocomotive locomotive) : base(locomotive) { Locomotive = locomotive; Simulator = locomotive.Simulator; Pantographs = locomotive.Pantographs; State = PowerSupplyState.PowerOff; AuxiliaryState = PowerSupplyState.PowerOff; FilterVoltageV = 0; CircuitBreaker = new ScriptedCircuitBreaker(Locomotive); }
public MSTSElectricLocomotiveViewer(Viewer viewer, MSTSElectricLocomotive car) : base(viewer, car) { ElectricLocomotive = car; if (ElectricLocomotive.Train != null && (car.Train.TrainType == Train.TRAINTYPE.AI || ((car.Train.TrainType == Train.TRAINTYPE.PLAYER || car.Train.TrainType == Train.TRAINTYPE.AI_PLAYERDRIVEN || car.Train.TrainType == Train.TRAINTYPE.AI_PLAYERHOSTING) && (car.Train.MUDirection != Direction.N && ElectricLocomotive.PowerOn)))) { ElectricLocomotive.SignalEvent(Event.Pantograph1Up); ElectricLocomotive.SignalEvent(Event.EnginePowerOn); ElectricLocomotive.SignalEvent(Event.ReverserToForwardBackward); ElectricLocomotive.SignalEvent(Event.ReverserChange); } }
public MSTSElectricLocomotiveViewer(Viewer viewer, MSTSElectricLocomotive car) : base(viewer, car) { ElectricLocomotive = car; if (ElectricLocomotive.Train != null && (car.Train.TrainType == Train.TRAINTYPE.AI || ((car.Train.TrainType == Train.TRAINTYPE.PLAYER || car.Train.TrainType == Train.TRAINTYPE.AI_PLAYERDRIVEN || car.Train.TrainType == Train.TRAINTYPE.AI_PLAYERHOSTING) && (car.Train.MUDirection != Direction.N && ElectricLocomotive.PowerOn)))) // following reactivates the sound triggers related to certain states // for pantos the sound trigger related to the raised panto must be reactivated, else SignalEvent() would raise also another panto { var iPanto = 0; Event evt; foreach (var panto in ElectricLocomotive.Pantographs.List) { if (panto.State == ORTS.Scripting.Api.PantographState.Up) { switch (iPanto) { case 0: evt = Event.Pantograph1Up; break; case 1: evt = Event.Pantograph2Up; break; case 2: evt = Event.Pantograph3Up; break; case 3: evt = Event.Pantograph4Up; break; default: evt = Event.Pantograph1Up; break; } ElectricLocomotive.SignalEvent(evt); } iPanto++; } ElectricLocomotive.SignalEvent(Event.EnginePowerOn); ElectricLocomotive.SignalEvent(Event.ReverserToForwardBackward); ElectricLocomotive.SignalEvent(Event.ReverserChange); } }
public ScriptedCircuitBreaker(MSTSElectricLocomotive locomotive) { Simulator = locomotive.Simulator; Locomotive = locomotive; }
public ScriptedDualModePowerSupply(MSTSElectricLocomotive locomotive) : base(locomotive) { CircuitBreaker = new ScriptedCircuitBreaker(this); TractionCutOffRelay = new ScriptedTractionCutOffRelay(this); }
public MSTSElectricLocomotiveViewer(Viewer viewer, MSTSElectricLocomotive car) : base(viewer, car) { ElectricLocomotive = car; }