/* called by: entrance ctrl of the object 'track'
U. j) M4 r0 c) ?*/8 ` {! J+ [/ v- P- L; A9 a- _
is \0 ]6 m# ]8 a; v( b; \
part, GlobalDistObj, assignLObj:object;row,Lan:integer;
3 J) X {& k; g" p3 W) R0 Odo
8 Q3 X. s' j4 V( D9 K Lan := rootfolder.Internal.Tools.AOLlanguage;& b: F' L6 a$ R1 V3 M
if current = @.Destination -- else return
: J! b" ^- g5 `; A then1 H0 V9 j9 s$ P% E6 l
@.Destination := void;6 w- G! q& h/ l- p: }- M
if @.occupied then f% U6 r2 t6 d. U" b" O$ g1 I; h V
part := @.cont; F, ` k: e" _0 [) L8 r! R
@.transpOrder := void;& b/ X: m0 u8 ~. D
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1," V- u( P6 x1 x
@,root.eventcontroller.simTime);6 C( p, ^! ]( s* i
@.HasOrder := false;6 c# Q" @# S3 }" M# S; l% V
@.DrivingHome := true;
4 c$ c9 u" f2 l2 e6 l: A/ `5 q1 l rgManager.tryToStartTransOrder;' P! o6 K) L- l6 r: y ]
if @.Destination = void# w6 S0 }, I' ^" i/ u7 n0 H2 p
then -- no transport order for vehicle @
6 ?1 w5 U# c9 \ @.Destination :=
% X! I' ?) g3 A: I rgManager.nearestFreeStation(@,track.~);
( N. ] u* w }/ q8 u newDirection(@); 3 E, }1 ^; P! I0 O' B* y
if @.Destination /= void then
7 s* N: s3 ^. n9 P- | @.Destination.NumReservation :=
- c" B; }5 U$ M9 [6 a5 m# Y& q9 M& t @.Destination.NumReservation + 1;
/ c, ^' R7 S2 K' ^6 l& \. q! l end;' p/ a- J& Q3 ^: Y' D7 v$ w
@.CurrIcon := "drivingHome";
6 m! f# d- ]% Y. v) L' T* c @.DrivingHome := true;
# t' V5 l& A& _2 ?( a4 ~ z7 U end;
( E( }7 |$ K* k9 ?4 H) a0 D* n else -- the vehicle @ is empty, both vehicle and part are in the same dock station+ k+ z7 `, |) Q7 c* y9 I
part := @.transpOrder;
1 ^8 d3 u* C/ A3 l( w, I: u! R part.move(@);-- load part
8 ` G7 |4 _, x3 ^7 w3 q @.CurrIcon := "load";/ s, `/ ^; W" {, f- `
GlobalDistObj := part.globDestination;
% i4 X- j. b% D* N6 y5 j assignLObj := rgmanager.rgAssignL;7 c; U E6 i+ g/ U8 ]
row := assignLObj.getRowNo(GlobalDistObj);$ D! k- s" V! \2 s' Y. X
if Row = -1 then -- since 70
5 G3 ]0 j6 P) b* w% Z# G if lan=1 then# ]3 N |; |0 \- A* M* @, V
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
0 p( ?2 A& Q( X; K0 \( A- i to_str("in der Andockstation: \"",?.~.name,"\""));0 M: ~7 J. b4 e; i
else+ W& a6 j3 `, F. O4 A/ k6 ]+ ^
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
( E3 m1 `3 P8 V" i* K7 a0 } to_str("in docking station: \"",?.~.name,"\"")); 3 B) A C# U! |# Q4 ^6 p
end;
4 m5 W. _7 x' H4 n% p: M else3 O0 M% {" x3 \) r* L/ U
@.Destination := assignLObj[1,row];
1 X! L' a2 v. |: t end;
/ n( E2 l1 h: D7 W1 U2 u" O( g+ X- k; O newDirection(@);
* y- W: \) e0 N/ m @.HasOrder := true;1 U- _3 \. x% E3 V. v( O( k. q
end;
/ K( x+ w1 T& k( W9 T; @ end;, G* W2 F4 U5 t' |
end; -- of the method
/ B. \1 o3 r2 t* H* @ |