/* called by: entrance ctrl of the object 'track'' a+ R9 ?4 d* T9 ? U' N3 x
*/' T2 H8 g/ Q7 G+ B
is4 B& E6 \) K6 a$ T+ r2 p% n
part, GlobalDistObj, assignLObj:object;row,Lan:integer;' F* W1 {. F+ {/ n+ d
do& K! L% B/ J& i$ ]- G
Lan := rootfolder.Internal.Tools.AOLlanguage;8 b2 @0 i, C) h d! X
if current = @.Destination -- else return
, S- T6 X8 ~: A% Y W: m+ K w then& {2 }1 A0 o1 D+ Q3 k
@.Destination := void;
5 ^* d# k: o" _+ b if @.occupied then
5 u3 Q* b1 _) Q( }+ y0 T. A$ h6 S part := @.cont;- f7 ~* i# o, d- ` N/ h- ]
@.transpOrder := void;# {8 l5 d. M, n
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
2 |, {* E7 _$ U. ]2 u! Y @,root.eventcontroller.simTime);
# W4 y F: s2 A$ p @.HasOrder := false;
8 ]' b2 K2 e" \ @.DrivingHome := true;, W; h" ?5 g! ]5 a6 [4 V% d
rgManager.tryToStartTransOrder;- S, \9 D7 H) u5 y
if @.Destination = void$ C- `8 F2 g7 a( A" _3 i3 {$ N7 ^
then -- no transport order for vehicle @. i% G5 x1 p& q; E. n: z
@.Destination :=
: z, m) x) k6 S+ d. d rgManager.nearestFreeStation(@,track.~);* C* O0 k( Z5 f1 X$ j3 x
newDirection(@); 5 |/ P. N+ f! y: w- D% p8 c, a
if @.Destination /= void then0 q) S6 t7 }- ~) N* u8 h
@.Destination.NumReservation :=
% a; ~2 V0 g1 F& ]$ ]/ e9 J+ s @.Destination.NumReservation + 1;- x/ z/ m2 B; @/ [* ]% e
end;8 e6 n2 H5 i8 w
@.CurrIcon := "drivingHome";
/ h! ]" ~' K5 h9 P' C! w0 k @.DrivingHome := true;
1 i" ?! T' d0 n8 `% o5 G, N! y end;, \' j7 Y$ O3 X9 t- j7 w' s4 R
else -- the vehicle @ is empty, both vehicle and part are in the same dock station
& w/ ~! a3 }6 K) s; ]- q9 W part := @.transpOrder;4 \& A! M5 |+ i
part.move(@);-- load part
6 ]! u; x6 {# ]4 { @.CurrIcon := "load";+ I/ g; E& F! N
GlobalDistObj := part.globDestination;( \4 i3 m, J% d. d1 E+ Y; |! B
assignLObj := rgmanager.rgAssignL;/ \* B& S, j( S+ k/ F6 o" M
row := assignLObj.getRowNo(GlobalDistObj);' Z3 D5 F! V# r" _1 S: O
if Row = -1 then -- since 70
2 L$ F ]+ }( Q& t$ M if lan=1 then3 @$ Q( A0 T4 E4 |: l
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),2 X# _& _) P, q
to_str("in der Andockstation: \"",?.~.name,"\""));
+ }1 d4 A- p6 `- V2 f else$ g# |$ ^, F9 R! [3 ]
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),8 g0 Q/ p0 |* O
to_str("in docking station: \"",?.~.name,"\""));
' `, A# q7 Y' l: W* X: k% I, u end;7 u+ W4 O1 A# `3 j* X+ x
else# e0 I# e& O4 N" J* N
@.Destination := assignLObj[1,row];
' E6 ?, u8 V& r3 i- X end; & [7 {4 D6 D9 v! J$ A5 B- O+ L
newDirection(@);
, K! m0 A* D! h' L; X! | @.HasOrder := true;1 z6 r# `2 n, z# O" t' t+ O- o
end;
8 v: A7 k0 q8 J# A8 o0 z end;
8 m$ o5 d& ~3 Z Pend; -- of the method; B- N6 [$ l5 ~
|