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; } }
private void sendMovementKeyUp() { SendMessage(MyHwnd, WM_KEYUP, MyWpDirDn, MyLpDirUp); SendMessage(MyHwnd, WM_KEYUP, WpSHIFTdn, LpSHIFTup); NavState = eNavState.SHUTDOWN; LineThemUp(MyCoordsNS, MyCoordsEW); }
private void sendMovementKeyDown() { SendMessage(MyHwnd, WM_KEYDN, WpSHIFTdn, LpSHIFTdn); SendMessage(MyHwnd, WM_KEYDN, MyWpDirDn, MyLpDirDn); NavState = eNavState.KEY_WAIT; return; }
void MovementTimer_Tick(object sender, EventArgs e) { MovementTimer.Stop(); MovementTimer.Dispose(); MovementTimer = null; NavState = eNavState.KEY_UP; continueMovement(); }
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(); } }
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(); }