示例#1
0
        public void MergeSectionStartFixPoint_OnSnapped(FixPoint fixpoint, FixPoint.SnapEventArgs e)
        {
            IRouteStatus connectedConv = fixpoint.Parent as IRouteStatus;

            PreviousLoadWaitingMerge = connectedConv.GetLoadWaitingStatus(fixpoint);
            PreviousLoadWaitingMerge.OnLoadWaitingChanged += PreviousLoadWaitingMerge_OnLoadWaitingChanged;
        }
示例#2
0
 private void StartFixPoint_Snapped(FixPoint fixpoint, FixPoint.SnapEventArgs e)
 {
     if (fixpoint.UserData is SorterElementFixPoint)
     {
         e.Cancel = true;
     }
 }
示例#3
0
        public override void StartFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
        {
            IRouteStatus connectedConv = stranger.Parent as IRouteStatus;

            PreviousLoadWaitingStraight = connectedConv.GetLoadWaitingStatus(stranger);
            PreviousLoadWaitingStraight.OnLoadWaitingChanged += PreviousLoadWaitingStraight_OnLoadWaitingChanged;
        }
示例#4
0
 /// <summary>
 /// The standard straight conveyor does not care what is waiting to be released into it, however if there is
 /// routing control on the receiving conveyor then this should be overridden to get the Load Waiting status of
 /// the previous conveyor.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public virtual void StartFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
 {
     if (stranger.Parent is IRouteStatus)
     {
         PreviousConveyor = stranger.Parent as IRouteStatus;
     }
 }
示例#5
0
 public void ReleaseSectionStartFixPoint_OnSnapped(FixPoint fixpoint, FixPoint.SnapEventArgs e)
 {
     NextConveyor    = fixpoint.Parent as IRouteStatus;
     NextRouteStatus = NextConveyor.GetRouteStatus(fixpoint);
     NextRouteStatus.OnRouteStatusChanged += NextRouteStatus_OnRouteStatusChanged;
     releaseSection.Speed = NextConveyor.Speed;
 }
示例#6
0
 public void FeedSectionStartFixPoint_OnSnapped(FixPoint fixpoint, FixPoint.SnapEventArgs e)
 {
     PreviousConveyor    = fixpoint.Parent as IRouteStatus;
     PreviousLoadWaiting = PreviousConveyor.GetLoadWaitingStatus(fixpoint);
     PreviousLoadWaiting.OnLoadWaitingChanged += PreviousLoadWaiting_OnLoadWaitingChanged;
     feedSection.Speed = PreviousConveyor.Speed;
 }
示例#7
0
 public override void StartFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
 {
     //Get the load waiting status of the previous conveyor and set as this conveyors load waiting status
     //This load waiting will mirror the load waiting status of the previous conveyor (merge/Divert)
     PreviousConveyor    = stranger.Parent as IRouteStatus;
     PreviousLoadWaiting = PreviousConveyor.GetLoadWaitingStatus(stranger);
     SetLoadWaiting(PreviousLoadWaiting.LoadWaiting, false, null);
     PreviousLoadWaiting.OnLoadWaitingChanged += PreviousLoadWaiting_OnLoadWaitingChanged;
 }
示例#8
0
        private void EndFixPoint_Snapped(FixPoint fixpoint, FixPoint.SnapEventArgs e)
        {
            if (fixpoint.UserData is SorterElementFixPoint)
            {
                sorterElementFixPoint = (SorterElementFixPoint)fixpoint.UserData;
                sorterElementFixPoint.InductionPoint = inductionPoint;
                return;
            }

            e.Cancel = true;
        }
示例#9
0
        public override void EndFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
        {
            Speed = ((BaseTrack)stranger.Parent).Speed;
            StraightConveyor nextConveyor = stranger.Parent as StraightConveyor;

            if (nextConveyor != null)
            {
                nextConveyor.OnSpeedUpdated += BeltSorterMerge_OnSpeedUpdated;
            }

            base.EndFixPoint_OnSnapped(stranger, e);
        }
示例#10
0
        private void endFixPoint_Snapped(FixPoint fixpoint, FixPoint.SnapEventArgs e) //fixpoint is the start of the conveyor that has been snapped to
        //Set routes up on conveyor
        {
            if (fixpoint.Type == FixPoint.Types.Start)
            {
                endFixPoint.Route.NextRoute = fixpoint.Route;
            }

            //if(transportsection != null && ((BaseTrack)fixpoint.Parent).TransportSection.Route != null) {
            //    transportsection.Route.NextRoute = ((BaseTrack)fixpoint.Parent).TransportSection.Route;
            //}
        }
示例#11
0
 private void DestinationFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
 {
     if (stranger.Parent is IRouteStatus)
     {
         IRouteStatus    destinationConveyor = (IRouteStatus)stranger.Parent;
         DematicFixPoint dfp = (DematicFixPoint)stranger.Attached;
         if (dfp != null)
         {
             dfp.FixPointRouteStatus = destinationConveyor.GetRouteStatus(stranger);
             dfp.FixPointRouteStatus.OnRouteStatusChanged += DestinationConveyorRouteStatus_OnRouteStatusChanged;
         }
     }
 }
示例#12
0
        private void PickConveyorStartFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
        {
            var conveyor = stranger.Parent as IPalletRouteStatus;

            if (conveyor != null)
            {
                if (pickStationConveyors.Contains(conveyor))
                {
                    return;
                }

                conveyor.OnLoadArrived += Conveyor_OnLoadArrived;
                pickStationConveyors.Add(conveyor);
            }
        }
示例#13
0
        private void StartFixPoint_Snapped(FixPoint fixpoint, FixPoint.SnapEventArgs e)
        {
            if (sorterElementFixPoint != null)
            {
                sorterElementFixPoint.ChutePoint = null;
                sorterElementFixPoint            = null;
            }

            if (fixpoint.UserData is SorterElementFixPoint)
            {
                sorterElementFixPoint            = (SorterElementFixPoint)fixpoint.UserData;
                sorterElementFixPoint.ChutePoint = chutePoint;
                return;
            }

            e.Cancel = true;
        }
示例#14
0
        private void SourceFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
        {
            if (stranger.Parent is IRouteStatus)
            {
                IRouteStatus    sourceConveyor = (IRouteStatus)stranger.Parent;
                DematicFixPoint dfp            = (DematicFixPoint)stranger.Attached;

                if (!SourceFixPoints.ContainsKey(dfp.Name))
                {
                    SourceFixPoints.Add(dfp.Name, dfp);
                }

                if (dfp != null)
                {
                    dfp.FixPointLoadWaitingStatus = sourceConveyor.GetLoadWaitingStatus(stranger);
                    dfp.FixPointLoadWaitingStatus.OnLoadWaitingChanged += FixPointLoadWaitingStatus_OnLoadWaitingChanged;
                }
            }
            else
            {
                // call upsnap method
            }
        }
示例#15
0
 void leftFixPoint_Snapped(FixPoint fixpoint, FixPoint.SnapEventArgs e)
 {
 }
示例#16
0
 void EndFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
 {
     NextConveyor    = stranger.Parent as IRouteStatus;
     NextRouteStatus = NextConveyor.GetRouteStatus(stranger);
     NextRouteStatus.OnRouteStatusChanged += NextRouteStatus_OnAvailableChanged;
 }
示例#17
0
 public override void StartFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
 {
     base.StartFixPoint_OnSnapped(stranger, e);
 }
示例#18
0
 public override void StartFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
 {
     PreviousConveyor          = stranger.Parent as IRouteStatus;
     PreviousLoadWaitingStatus = PreviousConveyor.GetLoadWaitingStatus(stranger);
     PreviousLoadWaitingStatus.OnLoadWaitingChanged += PreviousLoadWaitingStatus_OnLoadWaitingChanged;
 }
示例#19
0
 public void DivertSectionEndFixPoint_OnSnapped(FixPoint stranger, FixPoint.SnapEventArgs e)
 {
     divertSection.NextRouteStatus.OnRouteStatusChanged += DivertRouteStatus_OnAvailableChanged;
 }