/* called by: entrance ctrl of the object 'track'. \* I$ G3 l1 @: i3 r* D/ R4 ~! A
*/
; n: H+ d% A q7 l4 Uis
6 n5 E& A# w. B/ |$ `* o part, GlobalDistObj, assignLObj:object;row,Lan:integer;! I# a6 I7 u3 W
do" N( ?( A, P# V p4 Q& a- Q
Lan := rootfolder.Internal.Tools.AOLlanguage;
0 r- |7 s) [( g! c6 E if current = @.Destination -- else return
% K' f4 F# v- o. z s6 E then
; v; q& k8 b' m( F( K/ o4 T @.Destination := void;% y) u9 a# q. k: ?
if @.occupied then
. [* p; U! o* k part := @.cont;
' i, Y* O! A3 O- f8 V3 o6 Q) V& } @.transpOrder := void;7 |6 b2 Q3 P) v4 _5 ]
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
7 n6 K/ C& y# F1 J: J' P9 b& w1 v8 I @,root.eventcontroller.simTime);
' T$ s; B4 _4 ^. W9 F( L" y( n @.HasOrder := false;
% P' b* M [* T* j. [* { @.DrivingHome := true;9 N% Z% b% @5 E% w
rgManager.tryToStartTransOrder;2 x" I, Z" B5 @! d/ N" Q- T( u
if @.Destination = void9 Q3 |& Q1 o: A; g- _
then -- no transport order for vehicle @2 ?% w$ F/ j* }$ ^, k, w
@.Destination :=) ^( S9 j- v$ R1 Z" v A8 r6 [# a
rgManager.nearestFreeStation(@,track.~);8 N! p5 n( {4 p; i; n, z* F1 q
newDirection(@);
( @5 n1 K+ R4 D) S if @.Destination /= void then
3 T( g7 Y9 m2 X @.Destination.NumReservation :=
/ {. K7 y/ e- G5 r; G @.Destination.NumReservation + 1;
+ F# ?: E+ M/ C( Q: H end;
: T" [$ B+ R, _* I* q @.CurrIcon := "drivingHome";
! F Z5 P: `. i& E* } @.DrivingHome := true;
0 j- e5 X& X* `- \; _8 @9 g: p end;4 z$ c1 N" l1 m
else -- the vehicle @ is empty, both vehicle and part are in the same dock station. o# q/ D* l9 {. g
part := @.transpOrder;
# y$ n4 K' H& [0 O, |" a part.move(@);-- load part4 Q% L9 I6 ~; Y
@.CurrIcon := "load";
* i W, {: ^! n; \4 E GlobalDistObj := part.globDestination;
) q$ B' y7 i* a. A6 B. J4 F assignLObj := rgmanager.rgAssignL;
" ^1 ^) \9 D A8 ~; c( v row := assignLObj.getRowNo(GlobalDistObj);) f& }* n3 X- I# U% Q; K
if Row = -1 then -- since 70
# g1 @( p |3 ^% }$ i7 t if lan=1 then* i- K& ^8 D* U3 s+ N! Y |' w p! |
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
6 b8 {) Y9 j$ Q: n* T+ n% } to_str("in der Andockstation: \"",?.~.name,"\""));% @5 f: H5 z" n& [0 {
else
) X, f. ^- i0 W# r& e promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),( Z6 ^/ p% O/ o
to_str("in docking station: \"",?.~.name,"\""));
9 y. k7 H+ D; c X& \ end;3 @' A3 G/ q+ Y% d: i) B* ]
else2 w8 O& I8 ?$ e: X' h
@.Destination := assignLObj[1,row];1 Y; d6 ? \, e
end; $ c% q5 y# {8 v) l3 F
newDirection(@);# m' Y' X, M T) U2 |
@.HasOrder := true;
1 \- t$ K" T: M1 H h/ {7 E end;
% h( v7 K) G# Q* _ end;+ g$ _) [; f5 ?% l
end; -- of the method
9 ?; D5 G' }; I: `: I1 f! f1 w2 }' g |