/* called by: entrance ctrl of the object 'track'5 N1 t9 @6 l# y
*/0 x; a& \ K, G$ Q
is
) p: @3 S( E t. s8 a# N part, GlobalDistObj, assignLObj:object;row,Lan:integer;
; _0 l/ ~0 }2 n+ y0 P6 x* P/ E% E9 }' Fdo
: F% i& j. j) ]1 c8 p* n; u Lan := rootfolder.Internal.Tools.AOLlanguage;
/ r/ E0 e. {/ B* E8 w3 A if current = @.Destination -- else return2 o" {- }1 O8 `' U9 F/ M5 k% @
then
4 p @6 o. ^1 x2 j3 x2 S4 ]2 p @.Destination := void;' B ]: Q& a( O
if @.occupied then
4 J9 \3 M# y5 {; H% I+ {4 _ part := @.cont;4 [% p8 l) l$ v$ x
@.transpOrder := void;- v* v; ?0 G8 J( Z9 l# ?( }
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
* W! V6 F+ ~% s9 u/ l/ Z8 O+ D. M' h @,root.eventcontroller.simTime);, q9 N6 z* K, V7 w( e2 ?0 m
@.HasOrder := false;
( G. E* w5 z+ F. U! c% S: K# a @.DrivingHome := true;
. a S. Q5 L4 N4 }+ Y. i, c rgManager.tryToStartTransOrder;4 |; {: z6 G' m; N; P$ v4 j
if @.Destination = void. s" R; F7 Z/ Y- c3 D, u( g1 l
then -- no transport order for vehicle @
* M+ k% D- X9 S- O% r/ t @.Destination :=
" [3 ^+ x* ^+ r7 N rgManager.nearestFreeStation(@,track.~);+ O3 @, I0 z* a, z& A
newDirection(@); % o" R, s- b4 c2 W8 u
if @.Destination /= void then
1 D' X! Y# D: p; P; O, I @.Destination.NumReservation :=! D" q* z2 L T0 @" T8 ?
@.Destination.NumReservation + 1;" M9 m0 H8 D4 q8 V
end;
; L# \ p0 c4 d& b; T @.CurrIcon := "drivingHome";
* ~5 e, F( F6 @8 v1 V- r+ S! O, \ @.DrivingHome := true;
9 N6 z8 h$ ^% O6 m, }1 J: Z* f end;
$ F; X9 B$ _% N F8 `3 v; d' [ else -- the vehicle @ is empty, both vehicle and part are in the same dock station
. B. e ~$ L1 F8 M1 t part := @.transpOrder;% x8 V" Z* M$ { @% D
part.move(@);-- load part
2 @3 D' I8 Y6 N; K% d" K @.CurrIcon := "load";
8 Z' B6 Q( C3 n. V GlobalDistObj := part.globDestination;2 V7 h# P2 W$ l+ r) a
assignLObj := rgmanager.rgAssignL;
6 T3 h& O! O1 E5 o0 Q% [ row := assignLObj.getRowNo(GlobalDistObj);
% V$ L. q6 n X1 a$ N7 t if Row = -1 then -- since 70
# b" N1 G0 r( p8 \; Y$ Y! r if lan=1 then
) F! A$ B! r' R! V% } promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
% o2 I6 a' `2 r+ N' T( [0 c' I to_str("in der Andockstation: \"",?.~.name,"\""));
: ^& g# x/ Z. a- a% T; T# }( a) l( g1 { else
: M$ K$ ?# z8 f+ G* {* {- y promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
2 n r+ k, B) \- Q; }! L4 q) @ to_str("in docking station: \"",?.~.name,"\""));
8 _4 v. k. [2 Z0 i end; I" G# w/ R' K- [7 @* ~- x4 t
else
! G, C2 y- F5 T. M' |0 U @.Destination := assignLObj[1,row];, ]6 {) d' p1 v7 {1 M
end;
" \" M( k! |: W% l& a, N# i newDirection(@);
' y( w5 h" O, S; g7 a @.HasOrder := true;; a" X- r; w' G: U$ I
end;
. ~0 J( n0 t1 ^) X! O end;2 z$ g% f% |* p4 B4 c7 ~
end; -- of the method* o( I. p t2 D) e+ i
|