/* called by: entrance ctrl of the object 'track'
! i. y n/ ?9 B% n4 L& C0 Q*/
; A7 m5 r' C5 ~" bis
: z u5 X( N6 d6 h% M% f! M, N: I4 m part, GlobalDistObj, assignLObj:object;row,Lan:integer;% e. F6 y& e) N$ }( g( n G
do
% q& x5 a+ K+ [ Lan := rootfolder.Internal.Tools.AOLlanguage;
& q$ R* A& ?' k( F& r if current = @.Destination -- else return7 ?1 ~7 ^( [8 g$ S
then8 [1 F# N! E7 a( H. I) s& z2 A
@.Destination := void;: v8 l' \- [% N! S6 ]/ ?4 [8 o
if @.occupied then
1 w$ y3 S! x& w# \' @ G part := @.cont;
0 B0 e. c% H( P+ A/ K @.transpOrder := void;: w# \" F7 A% v* p
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
, f" p4 w' x8 E: p! `2 r @,root.eventcontroller.simTime);
E8 @3 G4 P7 z U+ h2 K @.HasOrder := false; P. @& c4 P. P, H G$ [) Y
@.DrivingHome := true;
/ [# V5 j4 z) @8 l' M7 k rgManager.tryToStartTransOrder;
' S7 g- Z# I0 w. | if @.Destination = void
1 c8 i% I! p f then -- no transport order for vehicle @0 _9 }+ O ~; t. v' l
@.Destination :=
v( ~. o& J: o: F6 } rgManager.nearestFreeStation(@,track.~);# d3 T5 d3 n6 D7 A+ ]7 y
newDirection(@); 3 ^ w% \3 d7 @' a
if @.Destination /= void then
5 Y5 U4 D7 t( A) ~. d, H @.Destination.NumReservation :=6 w# _% _( c2 t @& J1 v+ S1 |
@.Destination.NumReservation + 1;
9 s! f, k# |, I% B" J$ U& i end;
5 {% Q. n2 {" A! O @.CurrIcon := "drivingHome";
" O0 i& q8 F1 k& C' }3 @6 p- [ @.DrivingHome := true;
3 @: a1 c) H- r/ M end;
. h4 Y4 K2 O& ~6 f/ ]# C3 g else -- the vehicle @ is empty, both vehicle and part are in the same dock station0 l$ z( d7 Y: O& G
part := @.transpOrder; e V! _; Q9 B& ^' W J }1 Q. @, Y
part.move(@);-- load part
) I) k: h) x+ i0 u9 k7 b$ u9 d. \ @.CurrIcon := "load";
: C7 W$ J7 Z+ R: _- G& u GlobalDistObj := part.globDestination;1 G; x0 I5 K. M' S0 H
assignLObj := rgmanager.rgAssignL;# @5 Y8 C" S6 A* q
row := assignLObj.getRowNo(GlobalDistObj);
$ l9 e- v+ I9 @* e/ l* V if Row = -1 then -- since 70
2 B' k7 `+ P7 v$ ]$ N- Z if lan=1 then8 ^* s% A; k# p7 G
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),' U' [. t3 k- Z H6 e' X/ W
to_str("in der Andockstation: \"",?.~.name,"\""));8 P( T$ D# y V& Q& i% I6 |5 y
else
5 e" |/ f1 j/ j) |: ] promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),. p1 B9 ~7 q& z& }" |
to_str("in docking station: \"",?.~.name,"\""));
7 B2 m3 {! Z& A% S. Z' o, ~' z& ^ end;
8 t% W9 f$ l1 [- t else& Q1 k3 V8 C. M8 h" e
@.Destination := assignLObj[1,row];& J$ s- |6 u4 Z# G8 y$ z3 v
end;
: G/ I O. X8 i( d$ L% Y, ^* ^) } newDirection(@);; |# O- _: |4 {7 w( _
@.HasOrder := true;
0 e2 m4 l& Q9 F$ `# w end;
# s+ h" p( _5 ~; i, y# q end;
9 C/ g3 T# c+ g- }" fend; -- of the method. w0 A: U6 Y6 H# _
|