/* called by: entrance ctrl of the object 'track'
% l. ^# n5 C( |; A2 ]4 [4 d9 C: G*/
2 k- y- a, ~* `. ?( N p+ P! Fis
% j! i) o2 N5 u+ x part, GlobalDistObj, assignLObj:object;row,Lan:integer;- ^) _6 }; K% L& y6 k% f) J# i
do- B- T4 X6 f4 J
Lan := rootfolder.Internal.Tools.AOLlanguage;
+ F) @' H: Z4 x0 V+ a; T Y! r if current = @.Destination -- else return z8 H; Q+ U* s/ q9 L
then
Y( f8 W) b! e# D @.Destination := void;3 `7 I7 X9 g3 a/ @4 ~0 \
if @.occupied then
' z/ v* I5 V* {# s# H1 t# \: B part := @.cont;9 I: z$ o- y1 x9 q+ @
@.transpOrder := void;0 Y9 V( W# y! E9 u0 H$ C/ v( w4 y
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
" b5 M5 M& Q& k/ V! D1 T6 w( K @,root.eventcontroller.simTime);+ v% I0 C0 w4 I* X
@.HasOrder := false;
3 G7 D* R0 H% z2 r; U! N% k+ \- } @.DrivingHome := true;
# v. O. M: H, i rgManager.tryToStartTransOrder;5 ~5 N B Y1 B! U9 Z* S0 Y% v
if @.Destination = void, C$ V" b% Z; A/ h0 \: i. ?/ ?- q
then -- no transport order for vehicle @" F+ y" u: E$ a+ K
@.Destination :=, ]8 A; Z3 X6 i
rgManager.nearestFreeStation(@,track.~);
0 s% k8 p* z( [1 K6 I newDirection(@);
& V; z# m9 j7 a" W if @.Destination /= void then
! s$ }) m; e ~4 }0 c @.Destination.NumReservation :=
2 |0 Y1 ^9 Y* E6 R @.Destination.NumReservation + 1;
7 `; X: _+ X$ d, g end;# S& q4 L: M8 } N- T0 Y' `8 r1 W
@.CurrIcon := "drivingHome";6 n9 s5 g* {* O; L9 q% J9 N
@.DrivingHome := true;
: p/ N4 W, o2 ]. k end;" B: |$ e0 P% d% [( y5 w
else -- the vehicle @ is empty, both vehicle and part are in the same dock station
( C6 Z3 j, b' s, L2 H" Q part := @.transpOrder;) z) `/ H3 p# ~& H; p
part.move(@);-- load part
/ m$ m# k' Y4 {2 G @.CurrIcon := "load";
2 ?; Y' K8 I y& `9 e& _ GlobalDistObj := part.globDestination;! g4 X- J* R+ l$ Z" W
assignLObj := rgmanager.rgAssignL;
' X, ^) Q6 x9 R% ?$ `! K row := assignLObj.getRowNo(GlobalDistObj);1 ]* o6 S. B+ X
if Row = -1 then -- since 70
: C; Q$ B2 x% u. G2 a# A: { if lan=1 then
4 g# E5 b6 I7 I7 e6 ~. J8 ?" Y( x: D# l promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
@' x# p, p- D# n to_str("in der Andockstation: \"",?.~.name,"\""));
, R1 ]' T9 q( F* f) ]; S else
7 j# m4 R* z# j- ?" o+ G" t* C' } promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
7 P! N; S/ I3 G+ r! p to_str("in docking station: \"",?.~.name,"\"")); / Q6 F; @1 D2 u1 E
end; M# ]5 J5 P' c4 g
else
7 [+ X( B% {2 _" R- W6 ? @.Destination := assignLObj[1,row];
/ C K" s7 J/ j1 F) z9 q end; , u* s K9 o8 t1 D
newDirection(@);
- Q( G$ s( ~9 B& q7 d @.HasOrder := true;
3 l) p# w; r6 K* X end;$ s& z2 E+ p1 ]$ @' I% W1 Q
end; z6 v8 x0 [& ]+ r4 M: }
end; -- of the method
$ v, N6 s0 q7 [1 j3 V |