/* called by: entrance ctrl of the object 'track'
, W. G/ v- N. x- Y*/
) F) z( p" U' k4 {3 C, Kis
4 @0 Y. X" e: Q0 A. f/ ^ part, GlobalDistObj, assignLObj:object;row,Lan:integer;+ `3 p# |, R9 S7 |
do
. Z6 k+ d: z4 v o0 ` Lan := rootfolder.Internal.Tools.AOLlanguage;
1 K6 n, r6 E# {" j$ P: L8 R if current = @.Destination -- else return
# J! B) D, q9 |8 J then# u) j* D5 V3 h% ^
@.Destination := void;
7 G& [" z" n4 M, S1 |# K if @.occupied then
4 N! Y; d# w6 [( l1 [8 k" X4 d part := @.cont;
$ Q7 u/ M+ S! m @.transpOrder := void;
" o2 b! k- @) R0 }6 a$ s3 ]4 m$ I part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
* j0 b& n: v6 S3 `5 k @,root.eventcontroller.simTime);
: ~( A& a7 [9 u @.HasOrder := false;
' E: X& v7 \ R1 S: w @.DrivingHome := true;
? ~ E1 a2 L+ Z2 P T. ? rgManager.tryToStartTransOrder;
j2 \9 }/ S! H- [ if @.Destination = void" Q( f7 V* X" m* ~, h2 J. }
then -- no transport order for vehicle @
z7 P9 ]+ g# l5 [* y* w t$ u @.Destination :=* X& }$ k! ^0 I9 R- r
rgManager.nearestFreeStation(@,track.~);0 C% A& _5 Y$ S {' t7 X1 A
newDirection(@); # B, e' o1 T/ d% V- M8 }( K
if @.Destination /= void then
& [' m* p# |) f6 c4 W3 D @.Destination.NumReservation :=
D$ w: d" j5 w' Z& E @.Destination.NumReservation + 1;
& m: g6 B/ a7 C7 {4 C' q/ V z4 A$ m end;
% R% U- R4 s6 H' [$ D* m @.CurrIcon := "drivingHome";0 }6 P0 V, s: o* }
@.DrivingHome := true;) K: s+ Y8 W- ^, V( @/ p# r4 I8 `
end;0 u, A. W, d- Q
else -- the vehicle @ is empty, both vehicle and part are in the same dock station
0 y& H( H* o# A) k# X+ U0 ?, W part := @.transpOrder;+ T2 E. ?! M! f# }
part.move(@);-- load part; Q2 X" N8 w: p3 w* a/ B7 k
@.CurrIcon := "load";
: i8 x8 K G8 [' f; r0 [ GlobalDistObj := part.globDestination;8 y! n: N" x8 D3 P
assignLObj := rgmanager.rgAssignL;
2 R; ~% X' p4 E+ w; I% q* l9 p row := assignLObj.getRowNo(GlobalDistObj);
/ I: H' ?; V# w3 { if Row = -1 then -- since 70* F7 ?9 A% C8 y' N9 v4 K
if lan=1 then
& k1 [5 F# _& B9 O) x promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
. j7 |9 s' {4 @1 S) ]: e B3 A to_str("in der Andockstation: \"",?.~.name,"\""));3 |7 }0 S2 v$ @' E
else1 @) \/ b/ J& l9 C
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),, R% y9 c- n. q" B
to_str("in docking station: \"",?.~.name,"\""));
% y- a8 n# F, X$ N end;
: S6 d+ ?, J; `0 C! A4 w& q else
' T, k* ?& m P* q7 _4 i' N @.Destination := assignLObj[1,row];: i/ _9 }7 o$ r( \5 X, p
end; % s/ x2 [9 I3 {- w; N
newDirection(@);$ L) E- U5 Z+ O0 `1 h1 a8 J
@.HasOrder := true;; l) ~* \* U0 s& P. L9 e
end;6 v( F+ ^: b3 F7 O' O; a
end;
2 ~6 a) h. @$ S; a* k0 v4 u, pend; -- of the method
. N. F, C/ {& p1 ~0 v) v |