README: On.lua ausgliedern

This commit is contained in:
Nero 2022-06-24 21:58:15 +00:00
parent fd60de8f67
commit 01384a4a82

View File

@ -5,21 +5,43 @@ title: KsKit für Eisenbahn.exe
# KsKit für Eisenbahn.exe # KsKit für Eisenbahn.exe
KsKit enthält Steuer-Code für ESTW-basierende Strecken- und Bahnhofsanlagen. KsKit enthält Steuer-Code für Strecken- und Bahnhofsanlagen in EEP.
Epochenmäßig liegt der Fokus auf Bahnanlagen der Epoche VI.
Die Vorbildsituation ist dem Bahnhof Bad Schandau entnommen.
Der Hauptanwendungsfall sind Anlagen mit realistischen Entfernungen und vorbildexakter Streckenausstattung. Derzeit ist noch alles etwas im Flux, wenn du vom EEP Forum hierhergefunden hast, warte bitte ab bis ich offizielle Ankündigungen mache.
Daher enthält die Dokumentation auch Richtlinien zur Platzierung der Streckenaustattung, obwohl diese für die Zugsicherheit in EEP nicht notwendig sind.
Als Referenz diente das Buch "Sicherung des Schienenverkehrs" von Ulrich Maschek / Springer Vieweg. ## On.lua
Es ist zu beachten, das übermäßiger Perfektionismus bei dem Ausgestalten der Anlage hinderlich sein kann. On.lua übernimmt die Entgegennahme sämtlicher Callbacks und erlaubt es, mehrere Funktionen durch einen EEP-Callback auszuführen.
Mit vorbildnaher Detailierheit nimmt die Bauzeit dann auch vorbildnahe Dimensionen an. Das Script kann einzeln [Hier](Install_00/On.lua) heruntergeladen werden.
In dieser Dokumentation werden viele Anordnungen des Vorbilds erklärt.
Wenn man diese dann Verstanden hat, wird man sie natürlich auf der eigenen Anlage nachbilden wollen. Das bedeutet allerdings auch, das im Anlagenscript keine EEPMain, EEPOnSignal und EEPOnSwitch zu definieren sind.
Hier sollte der EEP-Bahner in der Lage sein, einen Schlussstrich zu ziehen, ab wo man sich mit der Vorbildnähe zufrieden gibt. Als Ersatz dafür bietet KsKit eine eigene Schnittstelle an:
Im Zweifel dann lieber auf die Streckenausstattung verzichten, man will ja noch zu Lebzeiten fertigwerden.
```
Main(function()
print("Main")
-- return-Wert von hier wird ignoriert
end)
OnSignal(1, function(Stellung)
print("Signal 1 zeigt jetzt Stellung ", Stellung)
end)
OnSwitch(2, function(Stellung)
if Stellung == 1 then
print("Weiche 2 ist auf Durchfahrt gestellt")
elseif Stellung == 2 then
print("Weiche 2 ist auf Abzweig gestellt")
elseif Stellung == 3 then
print("Weiche 2 ist auf Coabzweig gestellt")
end
end)
```
Auf diese Art definierte Callbacks dürfen beliebig wiederholt werden.
Ruft EEP den Callback auf, werden alle dazu eingetragenen Funktionen aufgerufen.
Die Anmeldung bei EEP durch die `EEPRegister...` Funktionen wird von KsKit automatisch vorgenommen.
## Übersicht über ähnliche Werke ## Übersicht über ähnliche Werke
@ -197,35 +219,3 @@ Für eine Vorbildgerechte Ansteuerung muss hier auf Lua zurückgegriffen werden.
### Mehrabschnittssignale ### Mehrabschnittssignale
## EEPMain und Callbacks
KsKit übernimmt die Entgegennahme sämtlicher Callbacks und erlaubt es, mehrere Funktionen durch einen EEP-Callback auszuführen.
Das bedeutet allerdings auch, das im Anlagenscript keine EEPMain, EEPOnSignal und EEPOnSwitch zu definieren sind.
Als Ersatz dafür bietet KsKit eine eigene Schnittstelle an:
```
Main(function()
print("Main")
-- return-Wert von hier wird ignoriert
end)
OnSignal(1, function(Stellung)
print("Signal 1 zeigt jetzt Stellung ", Stellung)
end)
OnSwitch(2, function(Stellung)
if Stellung == 1 then
print("Weiche 2 ist auf Durchfahrt gestellt")
elseif Stellung == 2 then
print("Weiche 2 ist auf Abzweig gestellt")
elseif Stellung == 3 then
print("Weiche 2 ist auf Coabzweig gestellt")
end
end)
```
Auf diese Art definierte Callbacks dürfen beliebig wiederholt werden.
Ruft EEP den Callback auf, werden alle dazu eingetragenen Funktionen aufgerufen.
Die Anmeldung bei EEP durch die `EEPRegister...` Funktionen wird von KsKit automatisch vorgenommen.