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); }
/// <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; }