/* called by: entrance ctrl of the object 'track'. P' K5 n4 o' q6 |# L/ Y, r
*/* Q4 \) g4 y0 K# M2 N! |/ R8 w
is8 ~8 Y$ b5 H& @: ?% i
part, GlobalDistObj, assignLObj:object;row,Lan:integer;* j, t- _8 h- M+ v1 v' K
do
, |0 n+ y( L9 ?- I( I' F' C( Q Lan := rootfolder.Internal.Tools.AOLlanguage;: H3 }4 o9 e! v6 {# \7 L J4 O4 ~# G
if current = @.Destination -- else return
* {8 {" s9 \ _; G" `+ A" b1 J& l then* z. F* l! S6 s$ X- z7 n
@.Destination := void;4 O& a% |; u& c/ {0 |: O9 [6 W
if @.occupied then$ M* B6 Z9 |% M7 s2 P! V5 j
part := @.cont; C0 @. g) [, Z- e% X. c
@.transpOrder := void;; i. Z5 V. ~) r }0 r6 a# b5 t8 R! Q
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,; _2 u5 h4 o m" L3 ?. X: f
@,root.eventcontroller.simTime);
& ?! n# a: G* J9 q( q9 K9 A @.HasOrder := false;$ ^3 @. J3 _! O* }% p4 N, w% d8 g
@.DrivingHome := true;# o6 H3 K8 Y1 W/ p8 o5 I' z. @
rgManager.tryToStartTransOrder;& U( ^0 R: P/ R+ U( k
if @.Destination = void- _# _6 a; t% R+ \+ c, n$ {
then -- no transport order for vehicle @
! v/ O$ U/ c7 E& u* E @.Destination :=
4 Y1 K$ Y+ V, `( m rgManager.nearestFreeStation(@,track.~);
4 d2 ?4 S8 S' P5 _( }5 B newDirection(@);
! |! [- C5 \+ ^7 {* u6 v4 v9 t if @.Destination /= void then
5 I! j1 z, J, \/ N: g& O# U5 l, c4 P @.Destination.NumReservation :=
1 }+ D3 B* K: ^/ I' j: m+ Q5 N4 W @.Destination.NumReservation + 1;
! P2 _7 v' z0 o& e3 ~- E' T) J# u2 z end;
" ?& P+ }6 |' F: p6 c8 S& R. \% S3 H @.CurrIcon := "drivingHome";
* Q% G: @# O4 P& V, a# a @.DrivingHome := true;
) [% k- q1 Y& s6 t end;
& z, ]3 K% g+ g# C/ z' m else -- the vehicle @ is empty, both vehicle and part are in the same dock station+ z/ W; @) c, o$ n5 f& A2 ]# N
part := @.transpOrder;
* g6 _4 L) W. ?, J* f% p3 k part.move(@);-- load part Y( V, f. C2 ~5 r$ {
@.CurrIcon := "load";
$ I" \# H* Q: `. r. ` GlobalDistObj := part.globDestination;, ~/ N3 g; V- U9 k4 R3 W" J/ |
assignLObj := rgmanager.rgAssignL;' B: V0 Z6 I. n2 ]/ k
row := assignLObj.getRowNo(GlobalDistObj);
9 |6 ^; o) }. O7 @& R if Row = -1 then -- since 70
6 i W {$ ?, i3 C# a# t if lan=1 then0 |3 ~3 {+ c/ f! z4 J4 ?, F7 p' O
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),4 t m0 Z+ V3 X y+ B x2 n
to_str("in der Andockstation: \"",?.~.name,"\""));
- Q, E% b# {" k1 | else$ l3 g8 ~1 ~2 {3 P+ V h
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
0 w e" } x4 g to_str("in docking station: \"",?.~.name,"\""));
* j @4 f2 |8 F9 N: n# Y' i- `$ T end;7 E7 D! p8 t5 N
else' S$ O! J9 y& p K" x
@.Destination := assignLObj[1,row];
: |; h* J" c3 t6 z' R1 Y2 N8 Y end;
8 \6 p( r$ T$ D; k# L+ ] newDirection(@);
) y7 H, {# \! e1 { @.HasOrder := true;
3 Y. r9 u9 T, q end;
9 h' G3 L+ o* {9 E% d/ c/ |8 f end;
3 `# u: s% i, S: c: M% \end; -- of the method9 o5 @' w+ a" j) z# a. d
|