diff options
author | Daniel Friesel <derf@finalrewind.org> | 2021-01-03 09:34:55 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2021-01-03 09:34:55 +0100 |
commit | aa1a5ed571f6a87f512f8afa706160d1dd9800f8 (patch) | |
tree | 857b92ecebd244c1bb77a0189853304b9d2654bc /lib/DBInfoscreen/Controller/Wagenreihung.pm | |
parent | 836cd8a39a2c6c64e3cd23239a18fe1c6ea8515c (diff) |
show "section A"-based wagon order if heuristic is unavailable3.9.4
Diffstat (limited to 'lib/DBInfoscreen/Controller/Wagenreihung.pm')
-rw-r--r-- | lib/DBInfoscreen/Controller/Wagenreihung.pm | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/DBInfoscreen/Controller/Wagenreihung.pm b/lib/DBInfoscreen/Controller/Wagenreihung.pm index 219212a..11fd084 100644 --- a/lib/DBInfoscreen/Controller/Wagenreihung.pm +++ b/lib/DBInfoscreen/Controller/Wagenreihung.pm @@ -107,6 +107,25 @@ sub wagenreihung { ); } + if ( $exit_side and $exit_side =~ m{^a} ) { + if ( $wr->sections and defined $wr->direction ) { + my $section_0 = ( $wr->sections )[0]; + my $direction = $wr->direction; + if ( $section_0->name eq 'A' and $direction == 0 ) { + $exit_side =~ s{^a}{}; + } + elsif ( $section_0->name ne 'A' and $direction == 100 ) { + $exit_side =~ s{^a}{}; + } + else { + $exit_side = ( $exit_side eq 'ar' ) ? 'l' : 'r'; + } + } + else { + $exit_side = undef; + } + } + my $wref = { e => $exit_side ? substr( $exit_side, 0, 1 ) : '', tt => $wr->train_type, |