/* called by: entrance ctrl of the object 'track'5 x7 [# b# ^+ n; x
*/
7 S( B9 j! T8 d3 |, i7 ?* @is# F' Q* E- r2 ?/ i7 a% F4 E! f1 A
part, GlobalDistObj, assignLObj:object;row,Lan:integer;
7 S/ s( l* k3 o/ w% w8 S, Bdo+ r* D( H' b9 `! D
Lan := rootfolder.Internal.Tools.AOLlanguage;
4 W, h3 g6 g( {; D0 L8 f! J2 ]% M if current = @.Destination -- else return
0 S4 U2 K# n1 }/ S( f1 a then; A0 k2 |: S5 z
@.Destination := void;
+ X! i: \" Z" s if @.occupied then& t3 E+ R# o, D9 {
part := @.cont;
" `- I5 i9 u+ e* G @.transpOrder := void;. }9 W. H2 n; Q. n3 `
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
7 {% W, J( d6 z3 B$ V @,root.eventcontroller.simTime);
/ k7 T/ w8 c; r+ F" i. i @.HasOrder := false;
! l! L& X x, `; \; Y @.DrivingHome := true;8 q( O6 \4 j. N+ u% G/ L/ \) ~
rgManager.tryToStartTransOrder;
: V5 o! ^% |1 \7 S8 X, ~& J' n1 U if @.Destination = void4 P4 e/ p, F* f( U2 `
then -- no transport order for vehicle @0 Q: x* g! q+ l+ V% c; g Y6 E
@.Destination :=
. ~6 G# g* X: g# D, ? rgManager.nearestFreeStation(@,track.~);
3 y/ n5 H( I0 a newDirection(@); 8 z' {9 i2 x' M; a9 }* J" D: n
if @.Destination /= void then
' Y/ l; j( r8 Z @.Destination.NumReservation :=6 z/ ^, o3 y. ]" \: A& o
@.Destination.NumReservation + 1;- ^9 J- r9 Q+ W `- v: t3 E& |
end;6 T4 Y# b6 I3 [! o; K) ~8 ^2 o
@.CurrIcon := "drivingHome";" U; b5 t. W2 @4 ~- {
@.DrivingHome := true;* B) X9 {: z+ u7 z1 S
end;7 Z5 j" c( u5 ^2 |& |' d
else -- the vehicle @ is empty, both vehicle and part are in the same dock station
7 U. U9 X5 u1 q% z part := @.transpOrder;8 c" i1 k4 h+ F$ S5 z( K$ c
part.move(@);-- load part
$ ^$ n1 D/ f* d2 x( Q& u @.CurrIcon := "load";' K& z' ^ G' ^" g4 R; l+ W
GlobalDistObj := part.globDestination;
1 _9 u" p9 v6 X# \, Y assignLObj := rgmanager.rgAssignL;
/ I8 S" v2 \: {, T& _4 w+ { row := assignLObj.getRowNo(GlobalDistObj);
6 f) O! M$ b4 C ?* p$ a if Row = -1 then -- since 709 }/ K: R% `5 ]
if lan=1 then
; I$ X6 d" u% o2 q$ v! ] promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),2 h8 N) |' M/ |- z3 W$ D
to_str("in der Andockstation: \"",?.~.name,"\""));
& J, Y) y/ p/ m else' W6 H+ U, _ F
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
0 a) R0 k) w% s& R% F+ B to_str("in docking station: \"",?.~.name,"\""));
( Q& W+ a! k1 ^! F end;) s- Q- _) i5 ?' A" u% s
else8 r. M. z, e9 |# e
@.Destination := assignLObj[1,row];8 [" B8 ] D0 o) I
end;
% C2 Z9 M9 ?7 U. ` newDirection(@);
7 k7 q5 f* ~" B7 C" R* v- i @.HasOrder := true;. V- C% p! R8 i% y n+ l5 H5 Q
end;
$ z* ^; z% H* \7 D8 a$ h3 i- f( J3 `3 | end;
% E( V/ [. e) `) w- A- X- W' ^end; -- of the method
: x/ E, a; l! ~8 Q) L6 g$ [. j |