/* called by: entrance ctrl of the object 'track'
' ]8 |$ X4 b! a$ b! Q*/* t- Z; B1 P+ a* ?5 ]# C, c6 S
is
. n( @3 T( L0 p' O9 u1 X, j part, GlobalDistObj, assignLObj:object;row,Lan:integer;. q3 V6 V0 ~( y8 v |
do, ]2 o* ^) e& u. T
Lan := rootfolder.Internal.Tools.AOLlanguage;
7 @0 l' |5 @" N! P: o) R if current = @.Destination -- else return
& b, B# L1 ~$ u1 I3 c4 V then
, t# S) H7 E# y2 [ @.Destination := void;; C8 U; r7 y; {7 x" J/ }$ k2 n$ D
if @.occupied then: B3 H7 L$ D5 d% `0 P% @! b
part := @.cont;
- l, y, E# `% n) V @.transpOrder := void;
9 \' S. y t0 k part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,2 }# O+ V" a% R( J, r* B1 ]& Y
@,root.eventcontroller.simTime);1 t p& [6 a" M% w9 T3 U+ i
@.HasOrder := false;
! u+ t6 {/ a( J @.DrivingHome := true;1 }2 j7 c: r8 O5 m3 {' x" n- E
rgManager.tryToStartTransOrder;+ W: c2 ^8 p# i' R; v
if @.Destination = void3 F. r2 N4 q5 i8 s, v8 f
then -- no transport order for vehicle @
; B! V5 E( c+ L# v) o- J7 H$ d @.Destination := y! X' d. C$ A
rgManager.nearestFreeStation(@,track.~);
, l8 ~7 i. \! l! t( ?7 ^. k7 i newDirection(@); # m1 D5 C" T) k6 ~8 v! T
if @.Destination /= void then
5 E5 R4 S& E% n ]( t @.Destination.NumReservation :=' V, ^) S3 i+ v0 N( K) l
@.Destination.NumReservation + 1;
% Z; E" n x5 s end;( q9 A0 C% J5 E; U: g. t H
@.CurrIcon := "drivingHome";
' Q8 J e+ f2 R: {, c7 s @.DrivingHome := true;
; Y6 _7 x$ m' f$ @( ?; u" ~ end;! E0 d0 K% q/ c0 X9 V! W
else -- the vehicle @ is empty, both vehicle and part are in the same dock station
8 s S$ g" u, Y$ X. ^/ _. s part := @.transpOrder;
6 Y; W- b9 @' y0 ?; U* _3 t part.move(@);-- load part
0 z! n; l7 i& { @.CurrIcon := "load";
/ g) Q9 V- T; Z) q7 j GlobalDistObj := part.globDestination;6 p& d& e- ^7 q+ u1 \ X" j
assignLObj := rgmanager.rgAssignL;0 P$ T o7 q) ? M' ?$ k! ^
row := assignLObj.getRowNo(GlobalDistObj);9 q* }5 R- u, Z1 w7 ?* P& p" A
if Row = -1 then -- since 70. ~1 J" w$ r+ z9 N8 g# W* o, o
if lan=1 then
; p' A2 |/ d1 [ promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
$ X2 f$ B9 G4 e l to_str("in der Andockstation: \"",?.~.name,"\""));
8 W( `! g- C5 Q' r else
: h U/ x& `: Y promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
& c7 T$ [7 Q. _6 ]6 [: L' k to_str("in docking station: \"",?.~.name,"\""));
- b7 q/ y4 @3 t* `6 x end;. C: o6 {, i- k8 [" ~
else c( _9 N9 Y* ~# x4 W5 P1 r
@.Destination := assignLObj[1,row];
2 B1 ^5 w, N" J: O9 }* Y, c w end;
4 l% T6 w' k" b, I6 ?3 R( v( a newDirection(@);
7 r" N3 M) z' V6 G @.HasOrder := true;) B8 y* a- q( N+ h" ?& S" f
end;
$ ^5 r9 h3 e s0 ?+ F0 ^; P end;0 ^6 \7 j. j: A+ y' ?1 S
end; -- of the method! K" w6 T% c3 h4 ? U3 U
|