/* called by: entrance ctrl of the object 'track'
' G7 s% R V4 H) [3 i# a*/; G/ |4 k! s. r
is3 i8 `6 ?9 P4 \
part, GlobalDistObj, assignLObj:object;row,Lan:integer;
* ~3 P! X4 A: _) v0 q* v3 Sdo
2 v& W1 _) N6 B# R G Lan := rootfolder.Internal.Tools.AOLlanguage;- c, F4 Q2 w9 o1 ?' n' p
if current = @.Destination -- else return! d8 S) {% V& v A% Z- _; X1 c
then4 g2 @' w: n2 @% U2 A5 t
@.Destination := void;" ?- c+ H& o2 R6 A
if @.occupied then
7 a( X5 i6 v! `+ ~" w/ | part := @.cont;1 N: \+ Q, \+ x8 s4 t
@.transpOrder := void;
" Y2 |, K/ }$ d6 o! J part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,4 _6 l. E; L; A, V
@,root.eventcontroller.simTime);2 J; L$ `; Y% A" a" o4 ]0 }! A
@.HasOrder := false;
( e3 @2 g1 z! z# v' c* E7 f: s) c @.DrivingHome := true;
* B6 T7 m3 r) P$ Z, p6 j( y rgManager.tryToStartTransOrder;
8 l$ M6 P" W& g+ Q$ a u) Q5 L8 Y if @.Destination = void' [* N! C% b1 Z v" ~
then -- no transport order for vehicle @% Q/ A/ r. a$ i, ~+ t2 C* c( u
@.Destination :=* L1 Q: |: k# P2 h4 x* S/ L
rgManager.nearestFreeStation(@,track.~);
1 d/ O6 ?4 |2 t6 ~+ h$ z! ] newDirection(@); 7 F& J- R6 L# G
if @.Destination /= void then
* O3 _5 j2 N) I7 W" N* ~5 g @.Destination.NumReservation :=
' W ~- F- _, x' v% @ @.Destination.NumReservation + 1;4 T8 a8 v$ F1 D7 E/ J9 e" K0 u
end;& z5 S% A8 X7 q1 R. x; n) j( Y
@.CurrIcon := "drivingHome";9 Q$ f- h: k& ^- b8 }2 h9 y
@.DrivingHome := true;
4 t+ d0 @" ^5 F end;
9 ^- B3 F* @% s- [* x) X, G$ o else -- the vehicle @ is empty, both vehicle and part are in the same dock station/ J6 j6 H# w1 N0 E4 [! J) _: U2 i/ B! b
part := @.transpOrder;
. u9 T4 y: a- q/ ] part.move(@);-- load part+ t5 l+ \. x1 ^8 `/ U* ~* b
@.CurrIcon := "load";
$ \5 O+ ^" R) B% W5 `* H" v, I GlobalDistObj := part.globDestination;
9 q! J1 t2 z/ B7 ?( m% q9 ? assignLObj := rgmanager.rgAssignL;
! a+ Y$ V# S7 I9 K1 l1 V5 l row := assignLObj.getRowNo(GlobalDistObj);
+ C5 Q K5 E6 E, e if Row = -1 then -- since 70
* |" V" H, w% Z6 F if lan=1 then
& C$ ?# I% u. d% j7 n" ] promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
1 R3 x# T" ` ^' ^; u to_str("in der Andockstation: \"",?.~.name,"\""));9 M/ R# N! X5 b" B0 d" {
else! T7 j$ y$ M' Q
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
. W$ ?+ I9 V' _7 H1 W) J to_str("in docking station: \"",?.~.name,"\""));
8 o+ Q8 G- d8 k- j6 R5 S end;8 a8 O, h' c0 H/ I% \
else
$ G8 X2 ]5 q4 S& x+ ^. e @.Destination := assignLObj[1,row]; J0 Z% b: t1 k5 C
end;
9 [6 f4 c6 j9 d% M: c) H( x+ Z; z newDirection(@);
% `5 {6 ?9 L: |8 ~ @.HasOrder := true;, T/ R. \# C6 z
end;
W2 z( }) |9 u, E; j end;
: v5 E/ C& ^8 t. E) q- B9 B, A# ?end; -- of the method
& Y. u/ u; O& n( f9 O9 p |