/* called by: entrance ctrl of the object 'track'
& a0 E1 Y7 m) }2 c# W8 M*/
) q% W5 A+ k3 P- p M" i4 j0 i& R* Vis
3 X0 Y9 j1 t C8 i' c8 e2 K part, GlobalDistObj, assignLObj:object;row,Lan:integer;- [2 b* N: B4 ^
do
9 l1 n/ W5 T1 s% g Lan := rootfolder.Internal.Tools.AOLlanguage;
7 i$ M9 [# }9 N$ ]* y- I8 v; ^ if current = @.Destination -- else return
* Q3 x1 F' u: x! D- O! N then
* L" @0 E$ L: @! a+ D; u @.Destination := void;
! D6 k; v. ~& U4 C% N0 }& ~- F4 b" } if @.occupied then
9 s7 ]. o" \; U part := @.cont;
- M: L" @& f3 I' ]! Q! M3 c @.transpOrder := void;+ m* `& S7 u9 r6 e9 D7 g
part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
?" {( H! c) v, D' l2 |9 D8 U) a @,root.eventcontroller.simTime);& K0 c3 W% E% x% j' }8 n3 e
@.HasOrder := false;# m# W& {$ \0 I
@.DrivingHome := true;* g8 [+ x9 |, o& {$ j* C5 z- z
rgManager.tryToStartTransOrder;, b1 K0 b$ B8 H& x
if @.Destination = void
0 l# P5 \. T8 {- ^ then -- no transport order for vehicle @
8 c. B5 T; r1 n# }1 l5 R @.Destination :=
! S* u$ ` t' e rgManager.nearestFreeStation(@,track.~);" a8 o+ n2 d# B# c0 s% n* @/ ^
newDirection(@);
7 L. g& b9 t. Q# Y; f if @.Destination /= void then
1 y: A5 `7 A+ b* {: h) o8 N: ~; ? @.Destination.NumReservation :=
' L8 ]9 K' V3 Y/ j4 o% F( h @.Destination.NumReservation + 1;1 P4 q& Z% n* P# R. C0 i0 s7 x& d
end;
D2 x6 f s \' n" T @.CurrIcon := "drivingHome";; d% s' v8 u) h
@.DrivingHome := true;; I6 V1 J# E( @# `6 n! R
end;
. _* g! I7 z& @* c$ g8 M# K else -- the vehicle @ is empty, both vehicle and part are in the same dock station
1 ~- Z) Q- C3 g. x( X2 t part := @.transpOrder;
# x5 p( [ d5 }6 O N8 o part.move(@);-- load part
, X+ R |, y4 W" E8 g @.CurrIcon := "load";
5 z+ [ Z/ U$ k5 L GlobalDistObj := part.globDestination;. Q, w" u" c% I* l
assignLObj := rgmanager.rgAssignL;
7 {& m( s4 b, k) z7 L7 L row := assignLObj.getRowNo(GlobalDistObj);
4 r* g3 |- L( L# s* Q+ [ if Row = -1 then -- since 70
) p6 r- S1 `4 ^ if lan=1 then4 r( t' P% Q# q2 h& m
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),' o9 t! B7 ?' N% @
to_str("in der Andockstation: \"",?.~.name,"\""));
4 ]$ `8 a" b3 R1 b6 [ else" T5 e7 T$ |: @) Q- |
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),
6 s2 s: b" x0 d to_str("in docking station: \"",?.~.name,"\"")); ' j. M6 w# G& B- s! N
end;
* ~4 N; w) P" N0 W0 l. F8 [ else
# F; ~8 n0 X+ K8 z @.Destination := assignLObj[1,row];
# K# X$ t1 K2 L3 y% b end; # V9 f8 O- B* |$ V" A
newDirection(@);5 y* w" _9 p/ y# {( Z% Y& h0 V
@.HasOrder := true;5 U$ R9 j I+ ^: @+ N
end;
J- E, M) ?! J4 c" `, ?. { end;9 h3 ]+ {1 W( z5 }4 i4 a
end; -- of the method
! D0 ^3 a M/ V |