protected override void AssignScriptFunctions()
        {
            base.AssignScriptFunctions();

            // DieselPowerSupply getters
            Script.CurrentDieselEnginesState = () => DieselLocomotive.DieselEngines.State;
            Script.CurrentDieselEngineState  = (id) =>
            {
                if (id >= 0 && id < DieselEngines.Count)
                {
                    return(DieselEngines[id].State);
                }
                else
                {
                    return(DieselEngineState.Unavailable);
                }
            };
            Script.CurrentTractionCutOffRelayState               = () => TractionCutOffRelay.State;
            Script.TractionCutOffRelayDriverClosingOrder         = () => TractionCutOffRelay.DriverClosingOrder;
            Script.TractionCutOffRelayDriverOpeningOrder         = () => TractionCutOffRelay.DriverOpeningOrder;
            Script.TractionCutOffRelayDriverClosingAuthorization = () => TractionCutOffRelay.DriverClosingAuthorization;

            // DieselPowerSupply setters
            Script.SignalEventToDieselEngines       = (evt) => DieselEngines.HandleEvent(evt);
            Script.SignalEventToDieselEngine        = (evt, id) => DieselEngines.HandleEvent(evt, id);
            Script.SignalEventToTractionCutOffRelay = (evt) => TractionCutOffRelay.HandleEvent(evt);
        }
Example #2
0
 /// <summary>
 /// constructor from copy
 /// </summary>
 public DieselEngines(DieselEngines copy, MSTSDieselLocomotive loco)
 {
     DEList = new List <DieselEngine>();
     foreach (DieselEngine de in copy.DEList)
     {
         DEList.Add(new DieselEngine(de, loco));
     }
     Locomotive = loco;
 }