/* called by: entrance ctrl of the object 'track'
: m$ i0 P h7 ~7 j$ |*/5 B: _/ {+ X# `: I% q2 N
is
" a6 e* U i; c" V part, GlobalDistObj, assignLObj:object;row,Lan:integer;+ v- S: r4 \8 S: B c, Z5 }
do
0 Q; T: i9 u- ^7 G# X! X( r: j& W Lan := rootfolder.Internal.Tools.AOLlanguage;/ L$ \' y9 Z& @! I
if current = @.Destination -- else return/ }& F @ x& v G6 [; u
then4 F0 m# Y0 u4 X$ }. Y
@.Destination := void;7 d; o8 F* W. M$ p( U$ d( u. {' {
if @.occupied then+ P' @; u6 _; J8 D
part := @.cont;
' w* k& T! a0 N M, O f @.transpOrder := void;1 X& k5 c/ S+ m3 Z; x9 L5 s
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,. Z) L+ f$ i7 y0 u, i; r9 `
@,root.eventcontroller.simTime);. }0 ^ E. k8 z2 M; Q% l6 o$ s3 \
@.HasOrder := false;
) F$ H' ]" a1 v" C# S: [, [% ^ @.DrivingHome := true;
; p* r1 s' x' p9 \; b rgManager.tryToStartTransOrder;
2 `# U8 m+ q( g2 k if @.Destination = void8 D$ q7 C3 ?/ O' @! \! F' o6 k
then -- no transport order for vehicle @- z. V& `) n& s+ c$ E" O
@.Destination :=
; a- s* w- r0 a L# k0 _. G E; p rgManager.nearestFreeStation(@,track.~);0 W7 Z8 j, }2 T4 F5 F$ g' F
newDirection(@); / s0 v4 |& L) y9 p7 e4 @8 K- \
if @.Destination /= void then7 E2 Q# n4 T9 V2 A) j" d. D
@.Destination.NumReservation :=
. }5 o1 S1 S+ k' e/ h# R9 e, a @.Destination.NumReservation + 1;
# J% j/ w, N: a3 }' J6 ` end;4 [- c! s7 Q! r, K4 j, p* s
@.CurrIcon := "drivingHome";
. z- Q& ?+ N' ? U @.DrivingHome := true;! ?* E5 A- W5 c1 R9 T4 D( x; }
end;
* C7 V6 j, ~9 J% } else -- the vehicle @ is empty, both vehicle and part are in the same dock station
5 G8 G- n4 V; j, h- Z; I part := @.transpOrder;
# ]" [* p* w; I1 x! U part.move(@);-- load part
% e3 @2 o. {* s- w" n: o, S+ H @.CurrIcon := "load";7 O9 N1 i) L1 m
GlobalDistObj := part.globDestination;
% ?' V- F, y6 B/ d assignLObj := rgmanager.rgAssignL;+ U. `5 Y. d3 l* R$ i3 S/ Y
row := assignLObj.getRowNo(GlobalDistObj);, `$ m6 O+ l! }1 t. U1 G4 P, f2 z
if Row = -1 then -- since 70
; X0 Z5 x, b$ `( k. w; H0 Q w if lan=1 then
5 t3 \5 q. C0 Z" S promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
! }" i. v2 L$ y0 m, H: D to_str("in der Andockstation: \"",?.~.name,"\""));
, c. t5 |3 r) \( V9 |- H- w! w else
" r0 H, @* W, i4 H promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),2 v$ z4 a: G) i7 h/ v. c6 T
to_str("in docking station: \"",?.~.name,"\""));
3 f# D2 O; T6 [5 J5 \; \% k0 Y+ W1 P end;+ |; X, }8 x6 k* I2 x. J. \( {
else7 F. ^! n! `1 X+ u. X
@.Destination := assignLObj[1,row];
& a, g( a* w3 h' v0 e end; 5 u& a" `) Z, h& i2 Y" i9 p9 D4 ]
newDirection(@);
. V& @& |9 j1 n! N5 S/ r @.HasOrder := true;( Q) H! }8 m( D6 L
end;' W0 {& s+ t# ~* x% p3 h. ?
end;
4 {0 r( t, d8 g8 Cend; -- of the method- O! p) g+ B; x
|