private void UpdateWeiche(int Adresse, int Status) { int index = Weichenliste.FindIndex(x => x.Adresse == Adresse); //Finde Weiche mit dieser Adresse if (index != -1) //Weiche gefunden in der Liste { Weichenliste[index].Schalten(Status); UpdateWeicheImGleisplan(Weichenliste[index]); } else { index = Signalliste.FindIndex(x => x.Adresse == Adresse); if (index != -1)//Signal gefunden in der 1. Adressen { if (!Signalliste[index].Letzte_Adresswahl) { Signalliste[index].MaskenSetzen(Status); UpdateSignalImGleisplan(Signalliste[index]); } } else { index = Signalliste.FindIndex(x => x.Adresse2 == Adresse); if (index != -1)//Signal gefunden in der 2. Adressen { if (Signalliste[index].Letzte_Adresswahl) { Signalliste[index].MaskenSetzen(Status + 4); UpdateSignalImGleisplan(Signalliste[index]); } } } } }
private Weiche GetDWK_2nd(String name) { int ListID; switch (name) { case "DKW7_1": ListID = Weichenliste.IndexOf(new Weiche() { Name = "DKW7_2" }); break; case "DKW7_2": ListID = Weichenliste.IndexOf(new Weiche() { Name = "DKW7_1" }); break; case "DKW9_1": ListID = Weichenliste.IndexOf(new Weiche() { Name = "DKW9_2" }); break; case "DKW9_2": ListID = Weichenliste.IndexOf(new Weiche() { Name = "DKW9_1" }); break; case "KW22_1": ListID = Weichenliste.IndexOf(new Weiche() { Name = "KW22_2" }); break; case "KW22_2": ListID = Weichenliste.IndexOf(new Weiche() { Name = "KW22_1" }); break; case "DKW24_1": ListID = Weichenliste.IndexOf(new Weiche() { Name = "DKW24_2" }); break; case "DKW24_2": ListID = Weichenliste.IndexOf(new Weiche() { Name = "DKW24_1" }); break; default: ListID = -1; break; } if (ListID == -1) { Weiche Fehler = new Weiche() { Status_Error = true, Name = "Fehler" }; return(Fehler); } else { return(Weichenliste[ListID]); } }