/* called by: entrance ctrl of the object 'track'
+ ?# {1 Q; t0 W- A*/
9 J; D4 W m) ]: j9 V4 _: [+ o! Lis$ Q6 r2 ~/ k. p7 h
part, GlobalDistObj, assignLObj:object;row,Lan:integer;1 p+ ~. U! {* J5 v, \2 N
do& q% i& R8 p" k' n- q$ N+ c, Z
Lan := rootfolder.Internal.Tools.AOLlanguage;
( }: F3 P( D9 D+ c' S, G( ] if current = @.Destination -- else return
4 T! i- W8 K& Q! |" U- g then" `! j' p$ O7 T& C. O
@.Destination := void;6 D3 t& J7 ?# d" T
if @.occupied then$ ~6 e& f) l8 ~
part := @.cont;' g: D) d3 v1 k/ c0 p7 J
@.transpOrder := void;
1 G2 l3 n7 p* Y9 }9 { part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
' C& Z6 I- h# V6 F9 F/ N @,root.eventcontroller.simTime);
, a6 n; v! \3 Y) ` @.HasOrder := false;
' c( G5 t y) I4 \ @.DrivingHome := true;
* X3 j6 t5 X# M2 }8 A rgManager.tryToStartTransOrder;. U D3 [; } x" F1 ~
if @.Destination = void
( ~( X) V- `+ O6 M; H. W! w then -- no transport order for vehicle @$ t: {3 w! S0 b( A: V4 T+ G
@.Destination :=( z+ R1 V' J% V# ]0 ]
rgManager.nearestFreeStation(@,track.~);) ~9 R \: N% g6 ?
newDirection(@); 1 O/ q( @( [' w5 m
if @.Destination /= void then; @- @& v. U) {/ V
@.Destination.NumReservation :=7 N. f5 E* P5 h3 \9 {/ T
@.Destination.NumReservation + 1;
5 }8 s7 g3 D: `9 V& B end;
4 U3 |6 t5 j, N' q- i @.CurrIcon := "drivingHome";5 X! @9 _0 p# c' S% w l9 H
@.DrivingHome := true;! Y& O0 S+ k. ~- ]$ J3 y
end;
) G, x( X0 T( \; |# K else -- the vehicle @ is empty, both vehicle and part are in the same dock station
) c$ Z4 \- L8 l2 H! Q3 x4 E2 @/ \ part := @.transpOrder;, Y" x9 G. Q1 w* w
part.move(@);-- load part+ Z, Y, a& l, _2 H
@.CurrIcon := "load";
, w+ A# L! Y: h0 u8 ?! l- u5 {3 i" L GlobalDistObj := part.globDestination;
: K; t4 N* W% z9 J8 S assignLObj := rgmanager.rgAssignL;
0 x, p, e$ F! ~# @$ A: q row := assignLObj.getRowNo(GlobalDistObj);, C& z) q. F! y" Y; a$ E; x
if Row = -1 then -- since 70
* K+ H. U4 e) i: S& d. m/ r: P* | if lan=1 then
* Y, _5 ?8 D5 a( c promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
& Z* z7 ~5 ^% @$ U8 o+ {5 z% T to_str("in der Andockstation: \"",?.~.name,"\""));9 |+ L' w: E: p/ X, e. S" @- L
else; e7 x9 {3 Q$ S0 U
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
4 g" n4 t* y$ s$ V+ v; a' r. i: ~ to_str("in docking station: \"",?.~.name,"\""));
2 e- @' S9 m" P- G* [# t end;1 B7 V( E# I2 X. W; G% E) b
else% S: f* Q; A1 T5 k" Q! n
@.Destination := assignLObj[1,row];( H# l8 s' S* g; U0 L
end; $ _7 X q7 U5 _4 ~" T+ S7 D* Z; |: F
newDirection(@);
! U& N$ N" p6 C- k* L. M2 D @.HasOrder := true;5 J v$ X8 K7 ]% q! Q" f. J) Y
end;, \, d9 h" q. u. d5 p% E
end;
: ~ S& v, B+ |' n1 ^end; -- of the method/ K' M. W1 B# ~
|