Beispiel #1
0
 public void MoveTo()
 {
     if (NavState != eNavState.TIMEOUT)
     {
         NavState = eNavState.MOVING;
         bool SetNav = true;
         if (MyDistanceTo > 0.1)
         {
             startMovement(SetNav, 1200);
         }
         if (MyDistanceTo > 0.01)
         {
             startMovement(SetNav, 600);
         }
         if (MyDistanceTo > 0.001)
         {
             startMovement(SetNav, 300);
         }
         if (MyDistanceTo > 0.0005)
         {
             startMovement(SetNav, 150);
         }
     }
     if (MyDistanceTo <= 0.0005 || NavState == eNavState.TIMEOUT)
     {
         Host.Actions.FaceHeading(MyHeading, true);
         LineUpActive = false;
         NavState     = eNavState.SHUTDOWN;
     }
 }
Beispiel #2
0
 private void sendMovementKeyUp()
 {
     SendMessage(MyHwnd, WM_KEYUP, MyWpDirDn, MyLpDirUp);
     SendMessage(MyHwnd, WM_KEYUP, WpSHIFTdn, LpSHIFTup);
     NavState = eNavState.SHUTDOWN;
     LineThemUp(MyCoordsNS, MyCoordsEW);
 }
Beispiel #3
0
 private void sendMovementKeyDown()
 {
     SendMessage(MyHwnd, WM_KEYDN, WpSHIFTdn, LpSHIFTdn);
     SendMessage(MyHwnd, WM_KEYDN, MyWpDirDn, MyLpDirDn);
     NavState = eNavState.KEY_WAIT;
     return;
 }
Beispiel #4
0
 void MovementTimer_Tick(object sender, EventArgs e)
 {
     MovementTimer.Stop();
     MovementTimer.Dispose();
     MovementTimer = null;
     NavState      = eNavState.KEY_UP;
     continueMovement();
 }
Beispiel #5
0
 public void startMovement(bool SetNav, int MoveTime)
 {
     if (NavState == eNavState.MOVING)
     {
         MyWpDirDn = WpRIGHTdn;
         MyLpDirDn = LpRIGHTdn;
         MyLpDirUp = LpRIGHTup;
         NavState  = eNavState.KEY_DN;
         continueMovement();
         startMovementTimer(MoveTime);
     }
     else
     {
         continueMovement();
     }
 }
Beispiel #6
0
 void TimeOutTimer_Tick(object sender, EventArgs e)
 {
     if (MovementTimer != null)
     {
         MovementTimer.Stop();
         MovementTimer.Dispose();
         MovementTimer = null;
         SendMessage(MyHwnd, WM_KEYUP, MyWpDirDn, MyLpDirUp);
         SendMessage(MyHwnd, WM_KEYUP, WpSHIFTdn, LpSHIFTup);
     }
     TimeOutTimer.Stop();
     TimeOutTimer.Dispose();
     TimeOutTimer = null;
     NavState     = eNavState.TIMEOUT;
     MoveTo();
 }