/* called by: entrance ctrl of the object 'track'
' ~7 \9 n! I% ^+ G/ X+ j4 X) P*/
& e7 i$ n' b6 Jis
& e" `2 O4 s5 _+ C part, GlobalDistObj, assignLObj:object;row,Lan:integer;
: e, f7 V) B3 jdo( o8 X$ C+ c% q
Lan := rootfolder.Internal.Tools.AOLlanguage;
\. H0 j2 h# e8 `* M* E, w if current = @.Destination -- else return
" w0 k& w# Z ~: x* c- m* p then
8 E% B; ]7 N& w; g8 B$ k! M @.Destination := void;
P- c: f( H' v+ O% B8 L if @.occupied then
$ @2 u* [3 F; D7 \ part := @.cont;& S/ j. s1 K2 G; R, \) Y& q9 I
@.transpOrder := void;+ F1 X8 g2 u: O
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
. F+ i, W* h; [& r; A# B" D1 ]# l: x4 b @,root.eventcontroller.simTime);3 C0 g ]4 U0 a8 n; j- V( h
@.HasOrder := false;* ~, T4 ?* P2 I# l) P
@.DrivingHome := true;, c. H% e. R& m( w
rgManager.tryToStartTransOrder;
' u% k: S7 K3 o* Y' C' U# @6 J% q if @.Destination = void! q# K4 I+ N$ {' ~, E! O0 S
then -- no transport order for vehicle @: r( e6 k8 l1 Q& R
@.Destination :=& v7 q- Y- c$ j6 ?# B, O! s K
rgManager.nearestFreeStation(@,track.~);. X0 g/ f9 D7 ^
newDirection(@); / L- M4 E' i8 V6 o. w# R+ p
if @.Destination /= void then; _1 n& |) ?; o
@.Destination.NumReservation :=0 k+ ?- N. C' x: J& R! X. a/ ^
@.Destination.NumReservation + 1;
. f) y3 s* I; p- P- E C end;# M' W4 ]2 p9 d, e
@.CurrIcon := "drivingHome";
* O1 l. a8 J2 Q* P @.DrivingHome := true;
, K3 z. J- @6 e4 D: j1 | end;
$ |2 H6 y, i. X2 v* w. J8 [ else -- the vehicle @ is empty, both vehicle and part are in the same dock station
0 v2 I$ X' Y/ K M& ~! b part := @.transpOrder;/ D7 J9 }2 a6 p7 u$ C9 c
part.move(@);-- load part
/ k" ~) x- p. r' q @.CurrIcon := "load";
8 g" O; E/ E3 C/ }, A& y* W5 G! q GlobalDistObj := part.globDestination;1 N3 Q3 J+ V4 H! N/ ~4 c% J4 F
assignLObj := rgmanager.rgAssignL;
9 L1 z% e/ ?' f w5 E2 L5 L; n row := assignLObj.getRowNo(GlobalDistObj);: h6 o! j% Q2 [
if Row = -1 then -- since 70
; \0 Q, ?! s; c1 q9 _ if lan=1 then
6 _1 W& `" J6 u. Q: X- ] promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
, Z7 `, j* G, H' v to_str("in der Andockstation: \"",?.~.name,"\""));
1 V3 X$ p8 Z2 ?) W) w9 s else
1 z0 x; X0 N- N+ P' t promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),' I d: P- q, {9 h0 w& i# V. n
to_str("in docking station: \"",?.~.name,"\"")); - p5 _' [/ u2 c$ e) G
end;$ X- i- O7 r* y! J- X; ~
else
- ^8 {* k3 r8 k2 d* _ @.Destination := assignLObj[1,row];
1 \! `6 N' e8 t5 o) G3 d end; , e1 z U' b3 Q2 @ a4 g" ^" Y
newDirection(@);. k) n N: V6 V$ r2 A/ E
@.HasOrder := true;! f% _' p6 Y- @' K; Q& C
end;
0 h! Q8 ?* r" U; j# c) k end;
: Y! k/ F8 C3 \! ?end; -- of the method
9 `( f- M$ o1 c3 _ |