/* called by: entrance ctrl of the object 'track'
- M' H) Z6 I% P9 X# e4 R2 k*/4 T/ f% F# d+ B% i1 c; ^
is
5 B5 X) N: e( ?) A& L- ~ part, GlobalDistObj, assignLObj:object;row,Lan:integer;
4 \: F" p' j, J Rdo
; u+ ]- ~" N' l% N4 U Lan := rootfolder.Internal.Tools.AOLlanguage;, t- T& }' O) @; l* W
if current = @.Destination -- else return
2 d/ m9 `& w, w" N& ]7 @ then
* P, O, [9 Z) c$ F6 x. U k @.Destination := void;
# X5 P; I8 Y: `) `$ a( P! q if @.occupied then
9 d3 X8 O4 p, m$ A" Z; a. z; w part := @.cont;0 q3 v2 S! f! g0 d) ?/ W
@.transpOrder := void;" A# y5 E8 V, }% Q B3 o2 k* d
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,' E; k* q8 r3 W; J. Q: t
@,root.eventcontroller.simTime);
9 ^7 p0 F/ x3 U @.HasOrder := false;6 k+ X; E A% o3 ~, G f
@.DrivingHome := true;, z) x7 N( t! Z8 m/ |+ |/ k8 L& f
rgManager.tryToStartTransOrder;
6 W, m/ r1 n6 p5 H. h7 R' P. a if @.Destination = void
A* ] i: ~- r# D4 h then -- no transport order for vehicle @$ J& U# j. ? G) c8 G% L( S' h
@.Destination :=
. C& X1 Y8 r6 G$ j( G+ @% X rgManager.nearestFreeStation(@,track.~);
+ e# a3 g* H$ y! P) T% u* ^ newDirection(@); . m3 ?9 \/ ?" k0 v3 l* d M$ D6 K! @
if @.Destination /= void then
/ J5 u0 o' J/ w8 C8 E* S @.Destination.NumReservation :=* C$ p1 w) }! J( Y. K' Q
@.Destination.NumReservation + 1;
; m Z. X# g% E& w+ G& O$ P( R. q end;; H! p. J* J2 } t+ W
@.CurrIcon := "drivingHome";
4 [2 X, w/ [$ C+ z! R: N' I @.DrivingHome := true;
6 @! @# Z1 H3 z+ q0 R/ Q, X end;6 L: g; x* M9 d# Z& j
else -- the vehicle @ is empty, both vehicle and part are in the same dock station( l: [; v# F% Q' }( d
part := @.transpOrder;
" i+ @+ H s6 c part.move(@);-- load part9 J k; C7 ?4 v, b" H. S& p$ B
@.CurrIcon := "load";) x# O0 n# r3 D% U) M$ O) P% Q
GlobalDistObj := part.globDestination;
- a. \- e& T0 S2 \ assignLObj := rgmanager.rgAssignL;
8 b6 _2 |7 c* t3 B8 S row := assignLObj.getRowNo(GlobalDistObj);
! `- k# ~+ F3 n9 [# w# D$ Z if Row = -1 then -- since 70
& _& t$ F7 S4 a3 [( w& w6 y if lan=1 then+ j7 f+ [7 U0 H4 G+ |$ j
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),) ]8 q0 u5 \5 N* v
to_str("in der Andockstation: \"",?.~.name,"\""));2 c/ x: w6 g" ]2 O; @
else3 W5 K( \1 f( _' k/ `: s: p; V
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),: f( I# d+ T1 I6 _# ` W' y
to_str("in docking station: \"",?.~.name,"\"")); 7 A5 ~( M' I6 }/ d
end;+ ?7 K; [3 F2 a. j
else
+ |% B) L; `' q& p5 c4 g- p @.Destination := assignLObj[1,row];
1 \& ], X6 V5 G. k5 g* ^' I! r$ V end; 3 ]3 x# ^; K+ o2 q" b
newDirection(@);% F @5 |- W" g& \' ^
@.HasOrder := true;) J- v Q- p. l* q3 j6 j
end;
% C9 n9 P8 E. j5 F. p5 H. { end;
0 M0 }/ }; o; J X# \2 L7 {. ^end; -- of the method% {3 c& R6 A J6 x7 E1 B- V6 b# E+ O
|