public void PauseMove()
 {
     IsFakeMoveEnginePause = true;
     if (MoveStatus.EnumMoveState == EnumMoveState.Working)
     {
         MoveStatus.EnumMoveState = EnumMoveState.Pause;
         OnUpdateMoveStatusEvent?.Invoke(this, MoveStatus);
     }
 }
 public void ResumeMove()
 {
     if (MoveStatus.EnumMoveState == EnumMoveState.Pause)
     {
         MoveStatus.EnumMoveState = EnumMoveState.Working;
         OnUpdateMoveStatusEvent?.Invoke(this, MoveStatus);
     }
     IsFakeMoveEnginePause = false;
 }
 public void StopMove()
 {
     FakeMoveArrivalQueue = new ConcurrentQueue <PositionArgs>();
     if (MoveStatus.EnumMoveState == EnumMoveState.Working)
     {
         FakeMoveArrivalQueue.Enqueue(new PositionArgs()
         {
             EnumLocalArrival = EnumLocalArrival.Fail,
             MapPosition      = MoveStatus.LastMapPosition
         });
     }
     else
     {
         MoveStatus.EnumMoveState = EnumMoveState.Idle;
         OnUpdateMoveStatusEvent?.Invoke(this, MoveStatus);
     }
 }
        public void GetMoveStatus()
        {
            var localData = LocalPackage.MainFlowHandler.localData;

            if (localData.Real != null)
            {
                OnUpdateMoveStatusEvent?.Invoke(this, new MoveStatus()
                {
                    LastMapPosition = new MapPosition()
                    {
                        X = localData.Real.Position.X,
                        Y = localData.Real.Position.Y
                    },
                    HeadDirection   = (int)localData.Real.Angle,
                    MovingDirection = (int)localData.MoveDirectionAngle,
                    Speed           = (int)localData.MoveControlData.MotionControlData.LineVelocity,
                    EnumMoveState   = GetEnumMoveState(localData),
                    LastSection     = GetLastSection(localData),
                    LastAddress     = GetLastAddress(localData)
                });
            }
        }
 public void GetMoveStatus()
 {
     OnUpdateMoveStatusEvent?.Invoke(this, MoveStatus);
 }