/* called by: entrance ctrl of the object 'track'
% q8 m- \0 v0 R( t9 a0 _2 W*/$ a$ _- U& ?$ W8 r5 n9 r7 z
is Y! e4 O1 |. W0 N
part, GlobalDistObj, assignLObj:object;row,Lan:integer;- h' K7 c- G3 H
do
9 M4 t/ w# K p2 u) I6 j- [ Lan := rootfolder.Internal.Tools.AOLlanguage;2 {. }7 a6 Q: P' G! Q/ r
if current = @.Destination -- else return5 r- ^1 H w, a/ Q3 @
then9 U" _9 f! ?4 x5 P" E" X
@.Destination := void;
7 Y! W8 u. [$ F l/ d7 k if @.occupied then
3 L" P% c6 r/ ? part := @.cont;
; |3 x f4 L* c3 E, F9 ^; f @.transpOrder := void;+ T0 G/ C' o) Y% S# |
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,1 A- C+ L, N8 J v/ A# \
@,root.eventcontroller.simTime);
. {1 K/ @; F0 }( I* w# { @.HasOrder := false;% G# y5 {1 |% _* E% A9 L0 R
@.DrivingHome := true;& r [1 w3 u4 C7 `& ?9 t
rgManager.tryToStartTransOrder;) {- l( u! n. w/ n2 Q
if @.Destination = void" {3 `$ t" X6 k7 M
then -- no transport order for vehicle @$ `* X) q+ [7 F% a" V; d! Q
@.Destination :=
5 M/ w% c- ?4 X9 C3 x' T7 A rgManager.nearestFreeStation(@,track.~);7 L" D3 p4 p3 y- b
newDirection(@); , s7 u% h4 K$ e1 r
if @.Destination /= void then: G" v6 T9 [7 [: X3 i5 V
@.Destination.NumReservation :=
2 |- q6 d" u) [4 o- ^! M @.Destination.NumReservation + 1;2 s) r1 K4 I3 i: d# L( h; H v! p
end;" B( X7 T" o; s* L, _" o
@.CurrIcon := "drivingHome";; _ v! G8 G6 F V0 `% p4 C
@.DrivingHome := true;
$ R T+ {* V4 h4 F# o, J+ R ~" v end;
5 ]) \5 _5 O; H0 E/ h: [- ` else -- the vehicle @ is empty, both vehicle and part are in the same dock station
- G8 P% \6 [: C& `( } part := @.transpOrder;
0 ?4 {7 G% O, V( u9 Z9 m part.move(@);-- load part
; D; c7 K t. e. u; }8 F @.CurrIcon := "load";
3 v, |3 M! q+ `: S2 E& | GlobalDistObj := part.globDestination;/ }8 K k* F. F' N5 g
assignLObj := rgmanager.rgAssignL;
& J2 q; Y6 ~# [9 U9 h% f row := assignLObj.getRowNo(GlobalDistObj);
) t+ U2 B# m$ G* W: Q# a5 y6 O" {; \! n if Row = -1 then -- since 70
) J/ Z; Y4 d& h& K& f, t6 m6 R- L% o if lan=1 then
9 F" n" O) x) ]: r1 n promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),, y: L/ k- N; J8 x( D" `" H
to_str("in der Andockstation: \"",?.~.name,"\""));+ x: n9 Y4 D# _
else' k8 S8 N# }+ l3 r6 t, L
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),# s% C4 v$ b. h% q' F1 m
to_str("in docking station: \"",?.~.name,"\""));
7 T3 D0 t+ `$ w( {, c3 L end;
! [) e. x. Z# O+ d' Z; v else
8 x' {9 ^- n9 C0 V# x5 u, P @.Destination := assignLObj[1,row];9 F I- E# A& r) a: P. V
end; 0 i+ n; r0 H5 K# `, l' C$ _3 E$ A
newDirection(@);, w4 \" `% V" u1 M2 @8 i w
@.HasOrder := true; ]. j3 A- ?3 Z7 p- f- a6 ^
end;
8 R; }- z- S7 ^ A end;0 k. c1 H: J- ~8 k# }
end; -- of the method# _$ r- l* f6 V( U( _. F
|