/* called by: entrance ctrl of the object 'track'
) Q7 k! F1 G9 i# ]" T8 e4 ~*/' U% j% ]9 ]% Y+ z/ A Y0 I* F
is
h8 N$ S4 V* _0 } part, GlobalDistObj, assignLObj:object;row,Lan:integer;- a! v' s# }1 ?: ?( P* c
do/ U% m& @' l$ V8 i$ S+ t
Lan := rootfolder.Internal.Tools.AOLlanguage;' w3 }2 s6 O( {4 S0 R
if current = @.Destination -- else return% k: |' W* E* Y. ~
then
; u% `$ L5 ]% X" ]$ t9 y3 g @.Destination := void;( X- A" a% ^, h& O& B4 R. _
if @.occupied then
( j; B& `4 O+ q g4 ^5 i% h( l part := @.cont;
& T c0 u; o. m: I% R" |! U @.transpOrder := void;
8 [5 D$ v) }3 m1 `1 I& M, F part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
# {" I% W, a9 U a! |3 m, a @,root.eventcontroller.simTime);; `- O& Y& w7 h, ~' q
@.HasOrder := false;
2 H) Y' K5 r- H; @2 D0 U; {: H @.DrivingHome := true;
5 C, }% }: D, ?0 F rgManager.tryToStartTransOrder;
; V, d0 h" K5 p" k& l/ N5 r: x9 O if @.Destination = void
2 q% O l; u0 D2 e1 s" t then -- no transport order for vehicle @% @. U3 c. N/ [: z3 J
@.Destination :=
1 e5 b9 X1 w: o( b, f* ^ rgManager.nearestFreeStation(@,track.~);" L% W0 T$ _, q3 ~7 G8 V
newDirection(@);
: w- k" A$ H7 N) m if @.Destination /= void then
6 D8 Z8 B& d# ], [ @.Destination.NumReservation :=
* A) r: n* ^! R* R+ u! @ @.Destination.NumReservation + 1;
, H- | [1 }9 U6 v' G; g end;) H- p k7 L" }0 w( M1 V
@.CurrIcon := "drivingHome";# d/ q$ {8 J4 q5 I* i: T/ @
@.DrivingHome := true;. w7 [4 ]6 {8 E" O6 x
end; b! F- C7 E3 X
else -- the vehicle @ is empty, both vehicle and part are in the same dock station
2 u+ D- |# `$ d3 ?2 N2 e part := @.transpOrder;8 O, n, l8 N7 U2 Z( T- `* {
part.move(@);-- load part! M$ Q. ]/ y9 m9 u* G
@.CurrIcon := "load";' t1 b Z; s) j, f# d
GlobalDistObj := part.globDestination;
, c7 P' R1 k) ~, K* v& x1 v assignLObj := rgmanager.rgAssignL;9 T% C/ G1 y. @
row := assignLObj.getRowNo(GlobalDistObj);' s' m; h' n/ ~
if Row = -1 then -- since 70; _3 A! F6 w# L7 Q
if lan=1 then
/ U9 m3 p+ _9 Y6 e$ N1 U3 I7 k promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),& ^' Q$ A2 W# T' O, f$ {
to_str("in der Andockstation: \"",?.~.name,"\""));
3 `* v: [, m( M* c, \3 W/ i, {/ O4 F else9 R* y# Z* e0 x8 ^
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
1 z3 R5 @' a1 \6 X5 C to_str("in docking station: \"",?.~.name,"\""));
& o$ ^/ T5 K- N/ c' ]" R end;: X5 c0 ?; u1 b- c+ ^/ _" `3 K
else" N* U7 ?7 d4 y. ] B3 _$ I: N
@.Destination := assignLObj[1,row];
3 ]0 u0 B) ^4 f' W# j end; , W2 ?) r! v8 Q, }/ A& u& v) ^
newDirection(@);
/ R7 `3 B1 U2 `( F @.HasOrder := true;
: `1 H& Y4 V. q end;
& v6 g6 N& I: q1 h6 B9 c0 l end;
; [9 }, D" Q9 r3 [! ~end; -- of the method
, K* R3 ~& P, _7 Q& }# V |