/* called by: entrance ctrl of the object 'track'
4 l8 Y z, ^* [# P*/ s f: K4 Q. H7 Y
is
/ `. i6 X2 G9 |: Q1 P0 r) {5 h. u part, GlobalDistObj, assignLObj:object;row,Lan:integer;5 H! Y r. G- e/ n1 i, [: q6 ]
do
& d$ c! }7 N4 r0 Z9 a k' b! m9 B L Lan := rootfolder.Internal.Tools.AOLlanguage;5 {. [3 ]7 `' T% |; J
if current = @.Destination -- else return- L% ?- F$ `4 l0 v: I" `
then
' f; l7 h7 N+ q+ H- A3 W( [3 x @.Destination := void;; Y- @- y c4 h* D( z
if @.occupied then
7 r" T8 P/ a! L0 l; P" p7 H; Z part := @.cont;
( l0 ?4 T; g% z, }7 v! l @.transpOrder := void;
1 ^$ H, z! I+ W- B& Q" N3 U1 E part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
( z2 E) i1 ]) y' _9 L' \* H0 B @,root.eventcontroller.simTime);
/ w4 `7 Q3 R8 T% n3 f: v; ^% c @.HasOrder := false;; e9 W2 x" E/ P& |6 P
@.DrivingHome := true;* U& t) [( T- k' Q9 y9 u8 @
rgManager.tryToStartTransOrder;" K9 a( Q% Q, h' Q
if @.Destination = void
: [ a' c# t: V* r' } then -- no transport order for vehicle @
3 j# e' W$ M/ @5 {) q( {/ o @.Destination :=
8 h6 Z" k/ h% P rgManager.nearestFreeStation(@,track.~);, k4 j. k+ [1 o5 r5 l% N. P
newDirection(@); l/ u6 {/ ]% B" a" T
if @.Destination /= void then' J1 G" q4 K4 c8 }
@.Destination.NumReservation :=
4 L8 M* \; U- M% W2 `8 w5 u7 k& Z/ c @.Destination.NumReservation + 1;
% p' }: s' O* b2 t( q end;
$ M' \ H3 n7 Y3 G- N* T7 K& ` @.CurrIcon := "drivingHome";' C: P$ G a8 v$ L8 u0 D
@.DrivingHome := true;
% @: j7 k, l7 A end;
3 Q2 t9 _& n$ j1 ^/ r1 B else -- the vehicle @ is empty, both vehicle and part are in the same dock station2 r$ q& V \ ?' D1 A& m6 F) A; h
part := @.transpOrder;; N# K3 y& ^: L) G' M
part.move(@);-- load part
3 A' ]$ s5 s1 }3 Q @.CurrIcon := "load";
: f- V, b& k0 s GlobalDistObj := part.globDestination;
9 E2 h" m. n) m, g+ @ assignLObj := rgmanager.rgAssignL;. G$ E, \3 z$ X5 v2 R! J
row := assignLObj.getRowNo(GlobalDistObj);% k$ P. L- Q# V
if Row = -1 then -- since 70
# d7 [ B! o) m if lan=1 then1 _: a$ w* @& k0 t$ m
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
: r) L0 k' z0 Y1 _& v to_str("in der Andockstation: \"",?.~.name,"\""));
9 M0 n* L# r+ l# J else; R9 l, d, \; l$ v' f
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
5 x1 C: T$ P0 r( ~$ t8 x to_str("in docking station: \"",?.~.name,"\"")); 9 u; S) _, [3 n8 ~+ w
end; i# J! C- j2 E4 o& w! n3 W0 x$ j6 w/ _2 ^
else
6 Y3 S. Z8 W8 R: h( C1 E x @.Destination := assignLObj[1,row];7 r+ o% @# D: A8 q. r5 Z5 d8 i- U
end;
" w" Q, O+ P/ [; V% U+ i newDirection(@);4 ]9 M& b0 [- ~0 P$ j% D6 {5 u
@.HasOrder := true;
' C* l. x' a/ y& }6 C end;
0 _+ O& E6 p3 n- }( N* h% e- y% J2 F end;
5 a# x! F. n. _end; -- of the method0 G% F, t. a$ j
|