public bool AusgangToggeln(FahrstrassenSignalTyp signalTyp, bool verlaengern)
 {
     if (Verfuegbarkeit() || IsAktiv)
     {
         return(true);
     }
     return(false);
 }
示例#2
0
        public bool FahrstrasseSchalten(FahrstrasseN el, FahrstrassenSignalTyp signal, bool verlaengern)
        {
            bool action = false;

            if (this.AppTyp == AppTyp.Master)
            {
                _model.ElementToggeln(
                    signal == FahrstrassenSignalTyp.StartSignal ? "FahrstrasseN_Start" : "FahrstrasseN_Ziel", el.ID
                    );
                //action = _model.FahrstrasseSchalten(el, signal);
                //if (master != null) {
                //	master.SendeAnlageZustandsDatenAnAlle(this._model.AnlagenZustandsDatenAuslesen());
                //}
            }
            if (this.AppTyp == AppTyp.Slave)
            {
                if (signal == FahrstrassenSignalTyp.ZielSignal)
                {
                    if (slave != null)
                    {
                        try {
                            slave.SlaveAnMasterMouseClick(el.GetType().Name + "_Ziel", el.ID);
                        }
                        catch (Exception e) {
                        }
                    }
                }
                else
                {
                    if (slave != null)
                    {
                        try {
                            slave.SlaveAnMasterMouseClick(el.GetType().Name + "_Start", el.ID);
                        }
                        catch (Exception e) {
                        }
                    }
                }
                return(true);
            }
            return(action);
        }
示例#3
0
 public bool FahrstrasseSchalten(FahrstrasseN el, FahrstrassenSignalTyp signalTyp)
 {
     if (el != null)
     {
         bool verlaengern = el.StartSignal.IsLocked;
         if (!el.IsAktiv && !verlaengern)
         {
             Thread fahrstraßenStartThread = new Thread(this.FahrstraßeStarten);
             fahrstraßenStartThread.Start(el);
         }
         bool action = el.AusgangToggeln(signalTyp, verlaengern && !el.StartSignal.AutoStart);
         //if (action && _ardController.IsPortOpen())
         //	OnAnlagenzustandChanged(el.Ausgang);
         if (signalTyp == FahrstrassenSignalTyp.ZielSignal)
         {
             this.ZeichnenElemente.ZugDateiSpeichern();
             OnZugListeChanged();
         }
         return(action);
     }
     return(false);
 }