/* called by: entrance ctrl of the object 'track'+ |- l: e4 v! j3 H$ {* _
*/3 b" @% q3 I- F7 @! Q& C
is$ _( @0 M# W o; j3 B1 v6 C5 X p
part, GlobalDistObj, assignLObj:object;row,Lan:integer;
0 @( h& k R2 o1 b' ndo" g% z# O) t8 K4 Z& R2 I! q4 `. y
Lan := rootfolder.Internal.Tools.AOLlanguage;% V- @8 ?& ^! ~4 i: |+ U0 d; [
if current = @.Destination -- else return+ o- e/ r) D9 X/ Y- L$ B. p
then
, {# q& |# R$ N: C& `" M @.Destination := void;, _/ ?" h# I5 H% U6 |' T
if @.occupied then
j6 d. G8 r. l8 j part := @.cont;
6 i& x" H9 y% X9 s# x# B7 h @.transpOrder := void;
- I! c0 N7 U* [4 j% j' S part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,9 u. w: J6 B! G/ u( h
@,root.eventcontroller.simTime);
7 L' B _1 h6 k+ U* t& R# Q/ h9 N+ C @.HasOrder := false;
; e" `: y$ l6 n( O @.DrivingHome := true;0 Y8 Y f- g1 I' s }
rgManager.tryToStartTransOrder;
0 ?1 |$ T: C; R2 g if @.Destination = void
8 l& @- v8 L j4 t then -- no transport order for vehicle @
. B! ]" M, b, D0 V1 p8 e1 | @.Destination :=
# H. r6 _8 ?) j" H* G9 h& ^ rgManager.nearestFreeStation(@,track.~);, P7 g; O0 {* N" T% w' P
newDirection(@); 7 ~0 X$ V, N$ n# H3 _6 F
if @.Destination /= void then
3 m$ d+ T* k1 [7 N- R0 G& T @.Destination.NumReservation :=; N! h% a5 z; @2 a: r( C, R, y% }6 ]
@.Destination.NumReservation + 1; p" V) `' R; w) @3 a# H; \
end;
& S$ u6 D5 h3 B8 @) | \" _/ o2 I @.CurrIcon := "drivingHome";+ E: _ c1 q. k+ H- k6 G% u
@.DrivingHome := true;
* `. V- n! [3 R/ d( D# L end; |% h, |2 m* J1 J) @: p- J
else -- the vehicle @ is empty, both vehicle and part are in the same dock station
6 A2 I. V6 R: w5 u% N part := @.transpOrder;" v9 M# \0 d( g. n, H$ d
part.move(@);-- load part
' l- I3 ^. W; V% Q( v @.CurrIcon := "load";
. O- [. E% U# Q+ X" J! F GlobalDistObj := part.globDestination;1 V% D, b8 M N3 u+ ^0 |" y
assignLObj := rgmanager.rgAssignL;
1 U7 @* @7 a9 |5 U1 Y* v: y row := assignLObj.getRowNo(GlobalDistObj);4 Y# }7 ^& w" q6 [6 O
if Row = -1 then -- since 70
( x1 f# G3 r( n7 ?4 z0 ], @. l if lan=1 then# q6 h: D% U. B9 q# c$ [; r
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
4 L" R% X( I, x1 | X: y( K to_str("in der Andockstation: \"",?.~.name,"\""));
2 A& Q' \) z+ f7 P else! Z1 v$ K" `# R- c! G
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
- V/ \5 G. F8 |( r$ @+ _ to_str("in docking station: \"",?.~.name,"\"")); 1 @6 x% E# ]# s' W9 I
end;% x: c7 v# a$ K8 R+ C0 W% x- y
else6 b, [, B1 k; ]
@.Destination := assignLObj[1,row];
! t7 Y7 d o: o1 m& L end; : m e/ K {4 L0 L
newDirection(@);
1 u, y( C+ L( I6 i/ S5 ~& N @.HasOrder := true;; O; R7 S- G% j4 k# M' x
end;2 C9 b6 Y: J% D
end;
z, S2 }: Z" {; v" w' bend; -- of the method
( j/ O4 U( }: h% R4 \8 m% z$ t7 N/ k |