/* called by: entrance ctrl of the object 'track'; l, i: W2 _1 m- @; s
*// w, f: @4 x: C( f9 S1 o, _
is
9 p, r- C, |, K! k, F" | ^ part, GlobalDistObj, assignLObj:object;row,Lan:integer;
/ X! |8 Q( Y; x; r S) udo
6 T0 h6 n |' Z Lan := rootfolder.Internal.Tools.AOLlanguage;
' e1 I/ ?* q* S% ~# v- i2 C if current = @.Destination -- else return
! t v: F( z% i! x7 O then
j0 V/ x4 j; ]# b- K3 q( @ @.Destination := void;
, |0 V z! k: b: a! Q if @.occupied then) A2 c+ t& Q, o6 }
part := @.cont;5 ?0 |) f( b" b3 S; a# d* d2 g
@.transpOrder := void;
# [+ J$ } p! j- b( i$ S0 m! l part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
. y# ?3 W$ p& O5 `0 |2 k @,root.eventcontroller.simTime);
9 n7 o% z, Y$ f @.HasOrder := false;
$ H/ I: _4 E4 y' ?( R2 `8 r @.DrivingHome := true;
& `7 f$ g7 k/ `# @ rgManager.tryToStartTransOrder;; t: h: ?* |$ [$ D. g r6 O
if @.Destination = void) t. x, Q- s: q% u7 T0 I& _/ R
then -- no transport order for vehicle @
* x0 G* p+ k% M) c8 a* I' F* h @.Destination :=- n2 n7 _4 r7 n2 w
rgManager.nearestFreeStation(@,track.~);
3 G! z; _$ `+ X$ \* H; l5 R2 n newDirection(@);
# C9 p- q! h r( e8 ? if @.Destination /= void then
$ S8 [+ v9 h' ^$ Z8 Q6 w) R @.Destination.NumReservation :=9 z" U5 p9 D/ D: ] a1 N
@.Destination.NumReservation + 1;
8 z% g# E Z2 K; ~' f end;
' Y; C: {8 T! C( {' D @.CurrIcon := "drivingHome";9 K; |: ]3 w: \' T) t
@.DrivingHome := true;- \# B2 \3 m4 u' n$ o; k- d
end;
6 {' ?% c2 E' e% b# S. l else -- the vehicle @ is empty, both vehicle and part are in the same dock station9 r8 m8 G! I( D2 ^. m3 R/ H
part := @.transpOrder;& X/ G+ f# Q: L; U1 ?2 K0 k
part.move(@);-- load part
! j: }0 I2 u1 G0 Y$ }* @1 [ @.CurrIcon := "load";
1 m- ^& F* Z) C7 v4 V2 y/ q GlobalDistObj := part.globDestination;
5 r; q6 \7 u$ g7 ~ assignLObj := rgmanager.rgAssignL;
/ c9 t: J$ R3 A. `! t row := assignLObj.getRowNo(GlobalDistObj);- O6 I/ [) m/ o w: e+ b& A
if Row = -1 then -- since 70/ C: G" x) ^2 A- T% S
if lan=1 then
( O6 {, {+ n& k0 N promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""), [. \2 @$ b, ~" o
to_str("in der Andockstation: \"",?.~.name,"\""));
% v2 ~0 o7 N: X- i else
* c, c& Q3 [; |3 V0 d$ C6 i% e promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
A) B* ~7 P$ W to_str("in docking station: \"",?.~.name,"\"")); 4 ~- |# s" d5 }( S% X
end;
v* p( ?* Y% P9 m% k7 N" A, A) H else( Q9 S0 u' F0 Z4 ]. ~2 }" O
@.Destination := assignLObj[1,row];
8 t7 n) z2 [$ t8 {( K! M: e end;
' B( [& m8 g- I newDirection(@);
2 a% o2 d. J4 z5 ^- W0 V @.HasOrder := true;
# ~( |! D2 z( G) [ end;
, m0 r1 z9 T% K" |; O; ` end;% u: n7 J1 n3 ~/ i3 }8 L
end; -- of the method
& p6 f) K6 L% U6 D |