/* called by: entrance ctrl of the object 'track'/ D/ z/ `. l- g$ H# u1 e2 q
*/
' \, B! o- @; q) u# g# Sis; _4 F- `2 \" J, q4 i3 x. |
part, GlobalDistObj, assignLObj:object;row,Lan:integer;
2 B& t* N: L2 o, @5 |) Gdo4 J7 } ` T2 m# }) T
Lan := rootfolder.Internal.Tools.AOLlanguage;& x) ^; x* [- y9 V* j* J
if current = @.Destination -- else return
" A$ g* d( i, @2 w; l& P7 s( l then
: Y" q" d8 ?+ Y/ c! y) T @.Destination := void;
; P& Y2 c; N5 c& R0 t$ ^ if @.occupied then% Q( @2 e! m" x! F0 k
part := @.cont;5 f8 T; v6 _1 Z: B
@.transpOrder := void;! J9 ]. i/ q+ }" H* W9 |1 Q1 P
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
! x+ u) z; b6 l: ^ @,root.eventcontroller.simTime);# y; ]! a6 v. A
@.HasOrder := false;, z: F# n, i: j, T1 S8 A5 w
@.DrivingHome := true;
/ n5 N- G/ O5 \+ S! ?: @6 A rgManager.tryToStartTransOrder;
% N7 N2 @9 B1 w+ i& q& P# A if @.Destination = void2 J3 t! n5 y/ ^% ^! f+ M
then -- no transport order for vehicle @
/ r( J2 G& [$ G& @' [1 J+ ` @.Destination :=
# N5 S2 o( O5 f% p rgManager.nearestFreeStation(@,track.~);9 k/ q% F2 S" }; W, P" g& s% f
newDirection(@);
0 t& H) E: w4 U7 H& _, e if @.Destination /= void then
}& L' C2 I. A* b; _! X3 U5 U @.Destination.NumReservation :=
: |# E7 C3 c; \3 l @.Destination.NumReservation + 1; l* B. b7 k) j3 [: f
end;
* N D0 O8 P @0 E" I @.CurrIcon := "drivingHome";( U/ p4 n# O6 a
@.DrivingHome := true;
. v6 F+ O: N4 J3 G( g9 @- ?# K! R# l end;1 Z4 o, J! A& N4 [
else -- the vehicle @ is empty, both vehicle and part are in the same dock station4 ^0 w1 X0 @( I/ Q6 A- W) t# ^
part := @.transpOrder;' N: w. X' ~" e
part.move(@);-- load part9 I; i2 A" I' ~: W2 y6 k
@.CurrIcon := "load";
' B+ N" G9 |( s- w. | GlobalDistObj := part.globDestination;
/ I1 j6 X4 Y7 _2 F9 W# F. M0 e5 ` ~! j assignLObj := rgmanager.rgAssignL;4 o" Q8 l* z3 N9 i
row := assignLObj.getRowNo(GlobalDistObj); F: I& o: y7 v/ _6 e" Q& L" V
if Row = -1 then -- since 706 ?1 k) z+ w5 s( m4 O
if lan=1 then% G2 u, E& ~5 a0 R# I; J- c+ B% U
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
2 Q `" z% V& M. l- _ to_str("in der Andockstation: \"",?.~.name,"\""));& ]" t9 F" P% v1 k, ?
else9 @' [0 o8 u$ O# K& G: i3 R
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),' r' o4 V, X8 a3 f
to_str("in docking station: \"",?.~.name,"\"")); / @/ @2 k$ b9 ?9 n, S0 t
end;, V' G V7 k9 E/ _: i! T8 |) |; G
else) l! ~" A9 N; X7 L: k
@.Destination := assignLObj[1,row];
5 G$ o! E& [% h end; 1 c, t) ~, F2 J# e1 z
newDirection(@);
9 b: C( q/ R8 I' ]% Z5 j' _8 l @.HasOrder := true;4 q4 h P4 w# b# \- [. [
end;
D% ?8 x+ G' v5 W1 L$ Y end;; V/ s# Q9 t( s+ q) P: g
end; -- of the method
# I# W/ c4 S! z: s8 I |