/* called by: entrance ctrl of the object 'track' d) W3 O% Z; U5 i$ V; u: |+ I
*/
" R% }! v, |5 V- k' pis
/ F4 v+ N( m" K" ^& A part, GlobalDistObj, assignLObj:object;row,Lan:integer;
7 Z1 [' x8 B( J& r4 I& |do
" R* c5 g+ f* L6 \6 J9 W( q2 s Lan := rootfolder.Internal.Tools.AOLlanguage;
3 p/ L! g9 p+ \8 o9 `( u if current = @.Destination -- else return
( o8 G: o, P3 E then
: f+ e$ a* `8 e# O9 r @.Destination := void;/ r$ y" @6 @4 H0 f5 P/ ^
if @.occupied then
+ o; E {" B. O part := @.cont;) d& Z, K, ?. @. _4 s3 V6 K
@.transpOrder := void;
' ~/ e0 I# m+ `. p: j part.move(partExit);-- unload is already possible rgManager.freeVehL.writeRow(0,rgManager.freeVehL.yDim + 1,
4 `. x# @4 r D% S5 q7 H @,root.eventcontroller.simTime);
, @5 R+ F; H: |1 N, Z8 ~( R/ o5 ^ @.HasOrder := false;0 ^+ M8 y2 X* J
@.DrivingHome := true;9 M7 z4 N1 u5 X% [
rgManager.tryToStartTransOrder;9 S# T$ f- K: V( N. Z
if @.Destination = void# F7 u$ [7 v& r+ J) S
then -- no transport order for vehicle @
- _; H/ I: N8 s$ N7 M2 A6 c @.Destination :=
z- b2 K# m& A rgManager.nearestFreeStation(@,track.~);0 z: U+ e; d% m' _
newDirection(@); ! d8 [% g: N8 b C
if @.Destination /= void then
7 D4 D$ w' y8 a$ e2 a @.Destination.NumReservation :=1 Z: p+ j. |9 D7 S( \ T/ D' m
@.Destination.NumReservation + 1;8 }+ T. S8 N6 H) l2 Z- n4 k! h
end;) D; H9 a* d" M9 L9 B
@.CurrIcon := "drivingHome";% Y! E4 {% g) q1 F% s7 r
@.DrivingHome := true;
4 i5 K9 o. D3 e end;
6 k8 k1 i: {6 @( C7 n+ ?5 V M- C- } else -- the vehicle @ is empty, both vehicle and part are in the same dock station" x# |5 B; _' f
part := @.transpOrder;
4 g3 z4 `/ o- X' z h" I part.move(@);-- load part
# s# Y: {) ~$ G @.CurrIcon := "load";
- j S J; n3 D9 {$ x GlobalDistObj := part.globDestination;
8 C$ |" y/ V) Y+ a$ h ~; r assignLObj := rgmanager.rgAssignL;
/ j# x) O7 T: M2 o# G row := assignLObj.getRowNo(GlobalDistObj);
+ O/ z1 H9 w" A1 Y3 A if Row = -1 then -- since 70
" |3 O- ~8 J" a6 v if lan=1 then& D3 O: L0 f4 W& H! I
promptmessage(to_str("Unbekanntes Ziel: \"",GlobalDistObj,"\""),
" |/ c1 c ^ C* h to_str("in der Andockstation: \"",?.~.name,"\""));6 |0 b& x% r/ J
else* a! o' ?2 K- r2 c9 F6 U ]! K
promptmessage(to_str("Unknown destination: \"",GlobalDistObj,"\""),% U. c9 a% \1 ]0 l( v+ s+ X
to_str("in docking station: \"",?.~.name,"\""));
, j$ Y. e: T2 G) e1 @. y5 j4 J end;/ [9 k# M( s+ N& |
else- P' Z4 g! `4 f y/ h
@.Destination := assignLObj[1,row];, y) k2 R7 m) B* H! C ]6 Y' M- v! Y
end; * {; d+ B0 P* V0 s6 K4 Y
newDirection(@);
$ W) P- [# W, ]. |7 z6 S3 D$ X @.HasOrder := true;
* r6 a7 X$ m5 V1 w end;
" b8 a) u5 H5 j& ` end;
4 Z! A }& A! eend; -- of the method
, N, `0 t; Y) F' h! y8 K |