/* called by: entrance ctrl of the object 'track'6 E8 d# U) X, T3 f3 @0 u/ d3 W$ l
*/4 Y$ X: X' g$ k9 _; \% S
is
& Y) H3 c( _; j$ [# D part, GlobalDistObj, assignLObj:object;row,Lan:integer;" f8 w7 G( M" O% A
do
! i& K' E1 Y1 m! B: {7 T! Z2 U Lan := rootfolder.Internal.Tools.AOLlanguage;8 [; B9 k' {0 P( M/ y% w, V' x& B) e
if current = @.Destination -- else return9 j m0 q# u2 B7 o
then
, o, ~! Q' B0 u6 Y, b% P @.Destination := void;
% y: D7 U) i4 S# T! r$ J3 ~& [8 H if @.occupied then
5 F7 H. r+ v# k; R. X part := @.cont;$ {, M" J# R2 t# h1 W
@.transpOrder := void;
, h0 ~8 b8 S- p }; g2 t0 M part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,* R4 B, g' i. V' i; V/ P) a
@,root.eventcontroller.simTime);
4 E7 L6 I1 j! p, t# F5 b9 _ @.HasOrder := false;
' d+ `# I8 [! v2 x# I3 { @.DrivingHome := true;
# ~* w* b) F6 x c rgManager.tryToStartTransOrder;- a( F$ w3 P2 z4 N- l8 K
if @.Destination = void
" P: j, K9 Y% A0 C then -- no transport order for vehicle @
# k, J+ [. V) I* H7 Y( e: j0 W @.Destination :=
8 p7 V# G3 |+ [ x0 ^" t. Z# |) z rgManager.nearestFreeStation(@,track.~);4 L9 ]* o& ^$ C: N6 j
newDirection(@); 1 m" Y; r. j) A
if @.Destination /= void then9 l1 {. X0 I) \7 y2 `: y) ]; s
@.Destination.NumReservation :=# @7 e8 s4 ~3 `0 t+ ^ F# J& K
@.Destination.NumReservation + 1;4 z0 L3 A$ e5 Z J3 M& F, A
end;
& t( ]6 d5 I2 e/ J* v) P @.CurrIcon := "drivingHome";3 \ u: z# Y$ }: I; {* x
@.DrivingHome := true;( l/ ^) P$ H; e3 ]9 d0 I
end;
, m+ }6 g6 b8 h" ?+ \ else -- the vehicle @ is empty, both vehicle and part are in the same dock station( _7 E% m" d3 M4 {# t
part := @.transpOrder;2 {. n, D6 ~+ z* X/ M) b1 P! j
part.move(@);-- load part
) B( K$ [2 ?' ?, S @.CurrIcon := "load";! |: m( N8 g& h! c, ]5 T
GlobalDistObj := part.globDestination;# e! c+ Y( q, n- D: @- n' H; `5 V
assignLObj := rgmanager.rgAssignL;
+ y( O' q* c$ u# K3 K6 L row := assignLObj.getRowNo(GlobalDistObj);1 r d$ R6 p7 t0 B! f; {2 Y
if Row = -1 then -- since 70
$ Q* [0 |2 p: w% C8 z if lan=1 then+ x6 W7 k- b; s f+ q0 z
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),6 n9 M. [# R$ u$ _ L: f [
to_str("in der Andockstation: \"",?.~.name,"\""));
- M$ W# ?' [& O8 d1 T else
\; c* a! H8 o promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
1 |; c, H4 c9 Y. ?1 n to_str("in docking station: \"",?.~.name,"\"")); ' c! G1 D2 | ^2 `
end;
6 P/ p8 R% n! O5 O else" x g1 {+ L; I1 Q) |
@.Destination := assignLObj[1,row];
+ `, G8 l- p+ i: v; H; N end;
- J: g% Y1 p5 s0 z" r! P. ^ newDirection(@);8 o1 a* N/ H7 ]% k4 j' e" Q M
@.HasOrder := true;
# u6 p( Y6 b9 W end;
3 ^) N; J$ D. ` end;
: u9 m2 T C% M5 m$ s0 f8 G$ Fend; -- of the method
% W5 w9 }5 G! H |