Seite 1 von 1
.NET-Library
Verfasst: Fr Okt 12, 2018 9:16 pm
von BadWolf97
Hallo,
JonasH und ich haben, hauptsächlich für ein gemeinsames Programm (FPH SpedV), eine .NET-Library für die Pluginschnittstelle erstellt. Diese kann mit allen .NET-Programmiersprachen (VB, C#) verwendet werden und bietet alle Funktionen der Pluginschnittstelle.
Source:
https://git.fphst.de/jonas.h/STSPluginLib
NuGet-Paket:
https://www.nuget.org/packages/STSPluginLib
Über Erfahrungen und eventuelle Fehlermeldungen würden wir uns freuen - viel Spaß und Erfolg beim Entwickeln!
Nico, Jonas
Re: .NET-Library
Verfasst: Mi Okt 02, 2019 10:51 pm
von Freefighter
Ich finde eure Lib ganz spannend. Meine Idee dahinter ist, eventuell ein kleines Leitstellensystem zu entwickeln, in das Störungen etc. eingetragen werden.
Das erstmalige Auslesen der Daten hat ganz gut geklappt. Beim Aktualisieren der Daten hängt es aktuell. Dafür ist ja sicherlich das EreignisTriggered-Event da?
LG
Re: .NET-Library
Verfasst: Mi Okt 02, 2019 11:21 pm
von BadWolf97
Hallo,
um die Ereignisse zu erhalten, musst du dich zuerst dafür registrieren. Dies tust du z.B. mit (in VB):
Code: Alles auswählen
For Each zug As STSZug In mw.STS.Zugliste().Züge
If registeredIDs.Contains(zug.ZID) = False Then
mw.STS.Ereignis(zug.ZID, STSEreignisArt.ABFAHRT)
mw.STS.Ereignis(zug.ZID, STSEreignisArt.ANKUNFT)
mw.STS.Ereignis(zug.ZID, STSEreignisArt.EINFAHRT)
mw.STS.Ereignis(zug.ZID, STSEreignisArt.AUSFAHRT)
mw.STS.Ereignis(zug.ZID, STSEreignisArt.ROTHALT)
mw.STS.Ereignis(zug.ZID, STSEreignisArt.WURDEGRUEN)
registeredIDs.Add(zug.ZID)
End If
Next
Bitte beachte dabei, dass du jede Zug-ID nur einmal registrierst, da du ansonsten jedes Event so oft bekommst, wie du dich registriert hast.
Dann wird erst das EreignisTriggered-Event ausgeworfen.
Beachte jedoch zusätzlich, dass nicht jedes Ereignis im Sim auch wirklich ein Event triggered, dies ist jedoch eine Einschränkung des Sims. So bekommst du kein Ereignis "EINFAHRT"/"AUSFAHRT" wenn ein Zug seinen Namen ändert, genauso wie "WURDEGRUEN" bei Rangierloks nicht funktioniert, die an einem Prellbock standen. Im Gegensatz dazu wird "ABFAHRT" solange gespammt, bis der Zug auch wirklich abfährt. Ergo solltest du die komplette Liste ca. einmal pro Minute neu anfordern um soetwas zu umgehen.
Nico