/* called by: entrance ctrl of the object 'track'
" b8 J4 F2 G9 l2 b+ {. F*// i0 E4 Q" L3 E5 X6 X
is
1 d8 {! l6 C% R& A R part, GlobalDistObj, assignLObj:object;row,Lan:integer;
% F" P3 {/ f5 Z4 v# kdo8 e9 H9 U- l: U# U0 K% l
Lan := rootfolder.Internal.Tools.AOLlanguage;
2 a6 d/ h- q1 J& q5 m if current = @.Destination -- else return
6 ?7 {8 F! e: q/ B/ G3 t then
8 [* Z4 ~- s% X& H* x& Y @.Destination := void;
" P3 J% I7 y2 C2 I* l6 ? if @.occupied then
4 z# f# [- n9 F" N part := @.cont;; }8 r+ P0 J9 z% Z6 c% S: F+ g9 }
@.transpOrder := void;2 o" z2 c; T1 i9 y% X; _. I
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,0 g) j& U0 H* \) E% R5 f' p8 Z. e% j! e
@,root.eventcontroller.simTime);3 r& l) g: H. q; L% `& f; E
@.HasOrder := false;6 q, A/ r% B5 W3 ^9 x& H+ t
@.DrivingHome := true;
+ h5 J- g' e* g; m& M9 z rgManager.tryToStartTransOrder;
$ }3 I% K1 Y4 c: v9 f r9 g if @.Destination = void8 x2 m9 L- J# C9 F( @2 q0 S( `
then -- no transport order for vehicle @
6 \% |8 t& x& s1 w& N @.Destination :=
# J! z+ V+ y2 Q. x! I, F/ e rgManager.nearestFreeStation(@,track.~);
4 F( T4 }9 p: m6 H( a newDirection(@);
6 L% E/ R0 S! v1 [; w if @.Destination /= void then) I4 \! d6 s3 Z; p
@.Destination.NumReservation :=
1 `" q" Y5 g7 X @.Destination.NumReservation + 1;
4 y; y- a) i2 m9 R8 W0 S0 f) h* E end;
: i% f9 g* C& v- T$ X @.CurrIcon := "drivingHome";. N4 C6 J6 f" T7 k
@.DrivingHome := true;
. }0 a# {' c$ } end;4 Y9 k- N1 w2 Z* X' |
else -- the vehicle @ is empty, both vehicle and part are in the same dock station
/ I' q0 q" L: b, Q3 X: y2 n part := @.transpOrder;. N- ], D/ @1 {" f, Z E0 \# G
part.move(@);-- load part, _2 C" S* v i+ j2 d1 M
@.CurrIcon := "load";
5 J9 b4 X1 N4 H6 g2 Z GlobalDistObj := part.globDestination;
/ `8 F1 T( z6 {6 R) A assignLObj := rgmanager.rgAssignL;; W0 q- y" X2 K( H! H
row := assignLObj.getRowNo(GlobalDistObj);. k4 A, c, Y& d s, A2 Y
if Row = -1 then -- since 70; u( B; h* a! |# G# m
if lan=1 then
% R( H. o. |8 k F! d* D promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),0 l3 u( |0 i' S2 ?* P
to_str("in der Andockstation: \"",?.~.name,"\""));6 }+ O) {2 d' N6 y
else; m; @$ P8 h/ C* r
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
0 Q9 z0 f+ s j7 z) Z+ U$ C0 x to_str("in docking station: \"",?.~.name,"\""));
2 C% U* H& D9 o% G; f9 [) f k5 W end;, {) ^4 C5 m8 M0 V9 M0 v
else
2 X, S3 Q/ y8 e a. S/ H" G @.Destination := assignLObj[1,row];
/ c8 Z: H8 N# m4 a1 V end;
9 w8 U7 ?: y3 o% }& e8 O+ H0 e newDirection(@);* a8 X# U2 U O/ ?. T! S5 N P' f$ {
@.HasOrder := true;
/ X% c. z+ L) L# } end;
6 N, z+ V7 M" z* }$ v: d end;
$ A+ q5 }( r4 t) p) A0 hend; -- of the method# `9 |4 d: A: k: ?: ?
|