/* called by: entrance ctrl of the object 'track'
& ~8 |( d t6 y4 h*/
; u- B1 d; Y' _9 S5 ^' {6 eis
9 s' L. u* o6 {4 j, |9 {2 c' r part, GlobalDistObj, assignLObj:object;row,Lan:integer;3 n2 k9 v% p4 n$ k
do
" N) Z' i/ ?7 V& l Lan := rootfolder.Internal.Tools.AOLlanguage;4 j: ~; P' i+ t* F; S
if current = @.Destination -- else return
/ H5 r0 m+ F' g3 N then9 J5 b) [- u. K4 D5 r
@.Destination := void;+ e" z9 H( _6 i s1 W
if @.occupied then
1 g. n: G/ E# F- @ part := @.cont;: u- {" ]2 i2 [5 L- J
@.transpOrder := void;) z( W! q- N# h d% |: y
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,/ a( o1 n! U6 o+ m, d
@,root.eventcontroller.simTime);
7 P) ~; p, s% W @.HasOrder := false;: L# N( D: z5 U& [
@.DrivingHome := true;: U4 t5 I7 Y# E6 [+ m9 T
rgManager.tryToStartTransOrder;' s, l& O. j4 R* {# [ a* F j
if @.Destination = void
" R) W* h8 B b0 \* B f' N then -- no transport order for vehicle @
9 z# T. Q1 c$ ^2 D7 z @.Destination :=2 M1 k# H. S; P1 }
rgManager.nearestFreeStation(@,track.~);6 d, g7 Q' v! a/ L- V% Z
newDirection(@); ) Q* n- z) D% `
if @.Destination /= void then7 Z+ C( B$ w5 {% N" N; l
@.Destination.NumReservation :=
" U* f& {! U% @3 F' o! G3 C @.Destination.NumReservation + 1;: o: _% _2 _) n' s$ M
end; g+ Q8 |& {1 c$ a+ c3 h
@.CurrIcon := "drivingHome";: q+ g; d8 R5 U5 a
@.DrivingHome := true;: m7 o' k; B* k% k K
end;" S- o) ]1 ?" w3 e/ P1 Q
else -- the vehicle @ is empty, both vehicle and part are in the same dock station
" @" z: Y* ]8 J( M( R" x part := @.transpOrder;6 W/ j4 W. Q* I6 [0 C: P
part.move(@);-- load part1 u. e3 {4 v6 J* Y
@.CurrIcon := "load";
4 x) w3 _. t! R# N% B y GlobalDistObj := part.globDestination;
: i# m. _5 V+ s2 M) |$ F$ _ assignLObj := rgmanager.rgAssignL;; r0 u% d# K! ]" ?4 M: R0 O
row := assignLObj.getRowNo(GlobalDistObj);
) e; c( ?- p4 d3 A if Row = -1 then -- since 70* m2 b; X$ a% C# e1 m! ?) O' ^
if lan=1 then
8 B$ W3 q) _2 d, P( S promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
9 `, I( p" v/ o: Y$ c; z- i to_str("in der Andockstation: \"",?.~.name,"\""));
: n' d: z! F( O4 a: \ a else
. h: s. s* G" ~ promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),& D/ y* _, F2 k, C
to_str("in docking station: \"",?.~.name,"\""));
, K" `5 a/ c( R# ^' N8 W end;
5 w+ W% @2 X5 [' n( J8 G else2 x% R4 _* Z* i% x3 k+ ~
@.Destination := assignLObj[1,row];
0 x+ v9 a2 r( T+ E! R9 m$ [2 n end; 0 L7 A3 b# r7 _5 t8 J5 m
newDirection(@);
$ @2 o% U0 ^0 X: [- P) o; |" D" P @.HasOrder := true;. Q+ f' G+ B' n- z+ Z$ b& i. E1 ~5 O
end;' D% O% X% y9 S
end;, B5 Q8 v# V$ b4 H: q5 ]. @1 f
end; -- of the method( B& Z1 L0 a. Y% r; Z
|