/* called by: entrance ctrl of the object 'track'8 R. r# o# D. X& S4 z" u+ m. ]
*/$ S% I( f4 X1 V# {; i1 Y
is
, Z( y; l3 `: k1 |2 M. E part, GlobalDistObj, assignLObj:object;row,Lan:integer;
0 J! v- Y; S$ Edo8 T! b2 ?& n% X/ t
Lan := rootfolder.Internal.Tools.AOLlanguage;8 h! ~ H; O6 u/ G( b! O
if current = @.Destination -- else return
6 a! a* ~6 W3 d* n then) M. j: y( f6 t7 {
@.Destination := void;/ h$ v. D; F; u+ F6 l
if @.occupied then: n/ [0 r8 ~+ ]1 E
part := @.cont;
. ~: q( p7 z# n8 Y @.transpOrder := void;6 r- I; E6 i! D( j6 r
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,& o" q( N- H/ F, E6 L, {; a. T
@,root.eventcontroller.simTime);7 P( l: v, @9 v7 d$ n, c, w/ w
@.HasOrder := false;
5 b. i4 a$ J% O$ X @.DrivingHome := true;7 _8 t* J# C( T9 _ s( t$ K) g/ Y
rgManager.tryToStartTransOrder;
5 q% H, U% x/ Y4 P7 K if @.Destination = void2 i; k: T2 K! @2 @5 b$ c
then -- no transport order for vehicle @/ O8 S6 B5 {; B; a3 m- E& s
@.Destination :=/ U5 e0 \0 T/ T6 ]$ M) d
rgManager.nearestFreeStation(@,track.~);
! M j4 y, r' x2 f2 r newDirection(@);
4 G- b0 J B" X4 @ if @.Destination /= void then
6 ~$ ^& Y( D w w; R @.Destination.NumReservation :=( j; D2 |, P; A5 v! V" N
@.Destination.NumReservation + 1;. v+ E+ q: p2 j; D- w% C4 o- p
end;
( r9 u/ O, c4 }2 A$ e! O, `+ ~ @.CurrIcon := "drivingHome";
/ i, X1 u5 g. x& `3 N$ @' Y @.DrivingHome := true;
& ]* D- _4 b) t+ T7 G) n; ^ end;" J) s' Y7 S2 C6 i
else -- the vehicle @ is empty, both vehicle and part are in the same dock station4 e2 D/ T7 q5 X; f2 V# h! G/ e
part := @.transpOrder;
7 J) p% O; T- [* d( k: q+ v, y part.move(@);-- load part
/ E' t- L. P6 ]- r2 b7 O y @.CurrIcon := "load";3 T* W2 v7 y- U5 w6 o8 p
GlobalDistObj := part.globDestination;
- s6 v* C# w1 Z! Z! V1 \/ r assignLObj := rgmanager.rgAssignL;
$ u* k) `% W9 O! r( C: o row := assignLObj.getRowNo(GlobalDistObj);8 ?/ k9 X0 K4 U9 E
if Row = -1 then -- since 708 b( P/ h+ h& C* A$ ~3 q
if lan=1 then
. F3 y' E( Y- k/ t" t0 A. ? promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
! T8 {* {+ N" `# V# t# L% | to_str("in der Andockstation: \"",?.~.name,"\""));) d$ k. B, M! Y/ y: | B
else" Q& G2 H$ ^: [. R: B. }0 R z
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
# z& I0 N; ~" v7 L9 m0 M1 W to_str("in docking station: \"",?.~.name,"\""));
8 T A" T: |8 N, n& G end;5 b& ~! J5 L0 N( q+ t' e- c n
else1 f: [6 h. \ {
@.Destination := assignLObj[1,row];, ?; Y7 N. B# E# I' r5 s6 Y
end; * k! i' d6 o0 v( k2 U& S8 o3 l
newDirection(@);6 p- E' }) P6 [, e) k8 J8 T3 G
@.HasOrder := true;
1 `) Q" @6 Z( y. y- l end;; u- B/ _! u+ D/ U. N" q# e; O+ E) v
end;
- }" t$ V+ Q! C, F' aend; -- of the method
1 o! ^/ `* B1 h i8 K# a& R |