/* called by: entrance ctrl of the object 'track'" v6 N5 H' G7 O! o9 Y
*/
9 Y+ C* s, v2 [' i0 N2 His
" Y% d- p# q* [1 x. [ part, GlobalDistObj, assignLObj:object;row,Lan:integer;
5 G( [7 `& S5 V# \do
7 {; D) F$ ~; W4 S$ H' z Lan := rootfolder.Internal.Tools.AOLlanguage;
" @9 K+ G2 I. I% J5 Y4 R% _ if current = @.Destination -- else return
9 L( v1 A% }" v' i4 R9 |1 e9 w3 Z7 X then
8 B: e" Y3 ?4 ] @.Destination := void;
8 y6 Q8 E* r, Y- w3 F T" T' g if @.occupied then+ Y, T! v( b# b/ E8 M3 R' u- }
part := @.cont;* n: e6 L: G, _# F7 \ p8 ^
@.transpOrder := void;4 p( k$ K% n) H
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
8 v0 Y( O4 O0 G: I @,root.eventcontroller.simTime);! |2 I `7 i! ~5 _9 A) y6 q
@.HasOrder := false;
; s- m$ p/ u4 E$ l, X @.DrivingHome := true;
1 q3 c3 D, ~# ?' V o6 [ rgManager.tryToStartTransOrder;/ {5 }6 u( }5 p
if @.Destination = void
# ^" p4 Y6 R! c9 w; y+ I then -- no transport order for vehicle @
. B, y) b3 i; A R! J @.Destination :=
/ k4 T6 m8 d5 V$ J+ t! X! M1 G rgManager.nearestFreeStation(@,track.~);
# [# K* [, [+ I9 P @0 w newDirection(@); - q* W" c0 ~* B# v, m8 e
if @.Destination /= void then
. r4 @. Y0 q2 h+ a( k: L @.Destination.NumReservation :=) V1 e1 G1 F/ |7 A/ t/ x6 e
@.Destination.NumReservation + 1;" ~8 {* H) ^- d( B8 S
end;
5 Y7 ^" S/ s7 i$ j g @.CurrIcon := "drivingHome";" X( h9 b. j( d# l0 l
@.DrivingHome := true;
4 \3 r( ^# U# @3 d end;% r- B& J; f, I/ H8 R9 g5 e
else -- the vehicle @ is empty, both vehicle and part are in the same dock station8 P6 W+ _, K/ y
part := @.transpOrder;# i3 Y! h: _; E7 ^* e
part.move(@);-- load part K% P/ q% a& Z+ w: g9 N- s
@.CurrIcon := "load";
% |8 |. h/ j7 \ GlobalDistObj := part.globDestination;5 N& d- U+ w7 B/ e
assignLObj := rgmanager.rgAssignL;/ L2 B0 g: U: ~- e- X$ x
row := assignLObj.getRowNo(GlobalDistObj);2 p3 o) K+ H3 ?; N% b/ x5 A
if Row = -1 then -- since 70
3 j6 B. E# C; y8 @' p: L if lan=1 then+ _6 P) \; R/ _0 u% k" X
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
; @7 X& e% D. D% _, D. ` to_str("in der Andockstation: \"",?.~.name,"\""));& ?6 V* F2 R: h8 M& x4 ~# v2 [
else
6 p+ t% M L Z5 ]7 B promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
Z: t: v* n0 ?- A" s to_str("in docking station: \"",?.~.name,"\""));
" Q0 Q4 L' J+ D end;
6 @( j1 T7 E$ H; [1 F9 i else! d& ^# P' J% f6 _1 n. m; o
@.Destination := assignLObj[1,row];+ `6 n0 n8 W9 T8 [; P9 V% k
end; 1 R7 @, r; W T5 ^5 c, s
newDirection(@);* s7 a; l; q' ~
@.HasOrder := true;
0 F& y' u# J+ I6 [+ Y' k( ]! N end;* s% g. x! X# I( n/ b+ u8 e
end;
" e5 s O3 M$ J$ V8 ]end; -- of the method6 x3 o, Y7 {- G6 y2 v! ] j0 D
|