/* called by: entrance ctrl of the object 'track'
7 N5 \" T) \7 J1 F# p t*/
* `( `1 o. N& u, E% R. `1 Ais
4 V" F9 N' Y% @8 B. B part, GlobalDistObj, assignLObj:object;row,Lan:integer;
/ m; K* V$ s% }# Ado' X' z- A4 j6 N, R
Lan := rootfolder.Internal.Tools.AOLlanguage;
, t/ X5 D* `- W if current = @.Destination -- else return+ |3 O2 L' b8 b8 ^& K
then8 w7 J% L- s9 d$ O5 e$ R+ E# }
@.Destination := void;
$ }4 c; D2 n" O1 u+ g+ t if @.occupied then
0 v$ H- `% y; q8 a part := @.cont; }& ~% p/ T) l1 g. a6 d9 ? h" g/ e' G
@.transpOrder := void;
3 @5 }( d3 X+ q l0 V( |; p part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,- w6 C: X4 }4 s: o' Z
@,root.eventcontroller.simTime);4 u6 n1 t+ ^; ^; [5 g# D
@.HasOrder := false;1 W; x- g/ b" A M+ u
@.DrivingHome := true;
( w7 j* f- b" F2 L! M4 [( k+ _" l; q rgManager.tryToStartTransOrder;
: O/ M7 s( e; s8 p9 m- w' i+ O if @.Destination = void
$ _; E# c D4 t7 s+ I9 X3 p then -- no transport order for vehicle @
4 k9 e7 q; d: H1 o: {/ m J @0 b+ j# V0 H @.Destination :=+ |" g. ~6 @& [9 n. K- n- C
rgManager.nearestFreeStation(@,track.~);! n. h. E; a+ r% _
newDirection(@); 3 K. F5 x1 V% @
if @.Destination /= void then
" y8 j5 s2 u! F% c( g# \ @.Destination.NumReservation :=
8 n! `+ N) o$ f' c: } @.Destination.NumReservation + 1;& _4 }2 V+ W, ]0 M
end;
5 b4 P. e" n; O5 m* u( B @.CurrIcon := "drivingHome";
- ]% I1 u! C( V' V" X7 x @.DrivingHome := true;
9 @+ S5 ` A: ]2 R# A end;
3 H _+ h" b7 \# c8 y# p else -- the vehicle @ is empty, both vehicle and part are in the same dock station" ]9 p. u$ S1 W
part := @.transpOrder;; k% ]3 }/ h3 S$ p% P
part.move(@);-- load part
5 |* K" e$ {2 q d) C! H$ K, o9 M @.CurrIcon := "load";- E4 o5 m, A2 }) |6 N8 ]7 G! @
GlobalDistObj := part.globDestination;) w! s5 u: b& {4 F$ j3 S
assignLObj := rgmanager.rgAssignL;
6 i5 W# h- W4 q% v( K a row := assignLObj.getRowNo(GlobalDistObj);
( q6 M1 x4 _% `7 c( V: P1 O! _ if Row = -1 then -- since 70' @4 `/ S6 \2 W: ?: [1 e5 c
if lan=1 then+ R$ m4 W K2 L; O9 E5 Q) [2 J. r
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
2 G3 ]& J7 `( ~! K8 v to_str("in der Andockstation: \"",?.~.name,"\""));: j3 u' q; t: W
else5 Z( w* I+ g! Y4 A' G) y% b
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
# Q/ I7 i& J. E" W/ H G9 s9 D to_str("in docking station: \"",?.~.name,"\"")); ! B$ w, n, e, A$ Q
end;
$ v, s& U( Q3 x$ u else" K! v" ~" v( r4 b+ e, X, p9 P
@.Destination := assignLObj[1,row];/ i2 S% o: F2 }
end;
& E$ H& a) D D8 J5 N( g newDirection(@);& X e/ F- e4 I; x) m
@.HasOrder := true;& F0 A2 b) H3 k' h. [# Q' d" X
end;
& O: P- j0 X. h5 X' N/ A! G( W% P end;3 }7 b3 S. W/ e5 R' ^% |
end; -- of the method
, A. N! y+ t( w# _0 W3 ^5 A |