/* called by: entrance ctrl of the object 'track'( C0 `% _8 W% o, G: m0 n
*/6 S# N/ Y$ u' {; o( _. C3 I v
is
3 `# a( z$ C3 C- p+ N/ i# U" H# F: G part, GlobalDistObj, assignLObj:object;row,Lan:integer;
( d2 T( U. r1 Z7 E edo- `3 r5 y5 m5 c+ i8 m
Lan := rootfolder.Internal.Tools.AOLlanguage;! |. m) ^3 N/ D$ f, L( ~
if current = @.Destination -- else return
- c6 g0 \& _6 i+ r* ] then
9 F% s" O v7 Y( ~$ _$ z: F* ? @.Destination := void;
/ C" u1 d8 {) J" a0 z% g if @.occupied then. K4 I8 ?; z8 E9 P( o* Q G
part := @.cont;
! z* l" I$ p" P& B @.transpOrder := void;
) \ C; a& _2 L+ G part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,3 @$ p7 j* k+ w5 Y
@,root.eventcontroller.simTime);- r6 p" ]5 B4 K3 T6 F
@.HasOrder := false;* \% p; S2 E1 ~( n( H4 ~$ M
@.DrivingHome := true;% c) a' a% n7 ^5 \- k6 G# B* o8 m6 ?
rgManager.tryToStartTransOrder;
/ j# Y/ p: v& C" g: w8 d# l0 x if @.Destination = void6 u- i) R, S/ t" R; k* |
then -- no transport order for vehicle @; @ d- Y/ X% r* [) G- j
@.Destination :=
7 y+ T+ J. J+ X9 D' h rgManager.nearestFreeStation(@,track.~);
( D( F$ p+ j" \/ w5 k4 @ newDirection(@); 6 o3 X+ }( v3 K( m% {. g
if @.Destination /= void then# B$ r3 b7 O, q1 o/ e7 S
@.Destination.NumReservation :=- Z8 _1 W& L. ^, V3 J
@.Destination.NumReservation + 1;
3 |5 P' H9 {" N5 Z5 c! S+ H) ] end;: d9 Q9 l% g% L' h
@.CurrIcon := "drivingHome";# ^: {. }4 ~5 H( u
@.DrivingHome := true;, s% J8 s% q) p* W* Q# P+ f# M
end;9 a" S# x' L; E6 N, z% z! w) ]
else -- the vehicle @ is empty, both vehicle and part are in the same dock station& l) V* Z1 S: w) U' J
part := @.transpOrder;1 A5 X* a7 h$ V( U; Z* x4 @7 N
part.move(@);-- load part
9 f% l0 q$ x, @! @9 n @.CurrIcon := "load";
# i! F5 R& t2 C6 ?: R" [$ \& Y, g' B GlobalDistObj := part.globDestination;! s* i) r( h+ ?; Q! f6 O
assignLObj := rgmanager.rgAssignL;
; e7 y8 S- M' b) Z$ z, e% X row := assignLObj.getRowNo(GlobalDistObj);; k1 X. W8 Y2 J, g4 s: }6 L
if Row = -1 then -- since 70
4 k( y: D9 q# c* i4 V F if lan=1 then
/ a$ W: T& K) [) _ promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),2 [' D6 u- u0 ^( z. k: R7 A
to_str("in der Andockstation: \"",?.~.name,"\""));# M& i0 m, b9 x
else, K- D* g4 {. C8 U. N/ E
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\"")," w. y( A" }* z8 P: U, ]! l7 z
to_str("in docking station: \"",?.~.name,"\"")); 7 T- V7 _' z4 B5 `8 z* l, ^
end;3 ~! ^! \: q' I2 o4 G
else" A: q9 Q- V& n3 p% W1 T8 u% S
@.Destination := assignLObj[1,row];
; N' w5 p ]6 m% |$ M8 u0 J" H end; 6 t m' }( o4 D2 f
newDirection(@);/ J/ @1 p' i* A) A- m6 R
@.HasOrder := true;
* N7 m( y* {! K' {* d+ n end;
6 |* E" E4 Y4 j0 e: L" C end;
, Q0 Q" r/ A& q# W. c N! R9 Lend; -- of the method
) Y& G4 H2 D. n. S |