/* called by: entrance ctrl of the object 'track'
" ?8 g! Q c. d3 a*/
6 C, |( @- Z. T. Z5 a& h7 Fis
/ d2 v4 Q1 j1 M: ~7 D! H% D4 A part, GlobalDistObj, assignLObj:object;row,Lan:integer;
( S6 @# z8 Q4 g9 Sdo! L" w! V: z* T& b0 @/ ?/ O6 U* o
Lan := rootfolder.Internal.Tools.AOLlanguage;/ N. R* I% R$ ^/ _
if current = @.Destination -- else return4 K+ ?, J- l8 T/ g+ x- v$ V
then! v5 s- J3 W! @' z$ } D1 z- J
@.Destination := void;
3 J N- n& C9 ~4 W- c4 ?0 N2 J; ` if @.occupied then7 _' A+ G* y Q: u9 Y+ v
part := @.cont;7 t* Z D) M/ q: |5 \
@.transpOrder := void;6 _" o( F y$ W5 J. P4 x
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1, z R$ J1 {* K$ B
@,root.eventcontroller.simTime);
; Q0 C2 K0 g7 x) F% n. ^# A @.HasOrder := false;# j9 \9 I0 N' q9 s
@.DrivingHome := true;; V6 ]; V9 b. y, _
rgManager.tryToStartTransOrder;
) K6 s9 B7 D# K9 _9 W& n if @.Destination = void
* u2 W& k& W) `$ B) K5 R then -- no transport order for vehicle @$ f g: I0 ]) ~& V
@.Destination :=) F* V2 D8 I$ ^7 t. O4 q( `
rgManager.nearestFreeStation(@,track.~);
: \ \5 O& m8 _1 E% I& q6 v newDirection(@);
+ F4 F/ E. Y0 |% r2 ` if @.Destination /= void then
. [, o k6 Y$ b B @.Destination.NumReservation :=
" \% t# V( I$ U) g @.Destination.NumReservation + 1;# S3 k% D4 ~0 m. K8 ~9 |7 O
end;
+ _; t2 e/ m& E) z6 V8 m( i6 G z& ~ @.CurrIcon := "drivingHome";
: F* z, h8 {) R$ x1 s; M9 Q @.DrivingHome := true;! Y4 N! i, Y9 a+ e8 w V ^
end;, U1 K7 t. A) s- X4 t
else -- the vehicle @ is empty, both vehicle and part are in the same dock station- H) u7 @" O5 K# e
part := @.transpOrder;9 w4 }) t! ^$ A+ W, p' J a- s
part.move(@);-- load part' Z" K( R" R$ E# k( h) s( h3 ~9 @
@.CurrIcon := "load";# I2 _% O- d' P6 O. Q) S5 h
GlobalDistObj := part.globDestination;
" O- c& }5 Z+ N/ K; K' F assignLObj := rgmanager.rgAssignL;
/ t2 d1 M' d" Y row := assignLObj.getRowNo(GlobalDistObj);9 Z+ T( N4 W! Y( u L6 ?% Y8 p( V
if Row = -1 then -- since 70
2 X7 S* N/ C8 R' A' `8 ^8 @3 Q$ g if lan=1 then1 s+ O$ F: ~) w; B# t( }! I) I' E: J
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),% q0 W5 J3 M& V; \$ Y* v8 n1 t
to_str("in der Andockstation: \"",?.~.name,"\""));
! _; b7 ^& p% r% @& l2 F else4 r/ Z1 m3 g$ r3 o0 o. f0 d
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
K% d& x1 Z3 d" X0 ~ to_str("in docking station: \"",?.~.name,"\"")); 7 l# F1 }* i1 L! b Y% z$ P
end;
- j* x0 w. o3 z$ } else7 i% q1 q& V( x8 s, a
@.Destination := assignLObj[1,row];
9 Y7 ~7 ?; c' {" Z end; n$ V* }. o. p6 J+ C* I
newDirection(@);
8 o; v! t/ d) D3 |4 ^' Y1 k9 V @.HasOrder := true;* @3 g. H, R2 J% m. ^' ~8 f
end;
9 C0 [) V$ d/ X. W3 Q& x2 t5 H end;
- c$ P6 i8 m- H- o5 ?; R9 Eend; -- of the method
" d0 t) ?7 j$ \0 k2 p |