private void CharKeyBoardMove() { if ((int)this.CurCharKeyMoveStatus == 0 && (int)this.PrevCharKeyMoveStatus == 0) { return; } NrTSingleton <NkClientLogic> .Instance.InitPickChar(); sbyte prevCharKeyMoveStatus = this.PrevCharKeyMoveStatus; this.PrevCharKeyMoveStatus = this.CurCharKeyMoveStatus; NrCharUser nrCharUser = NrTSingleton <NkCharManager> .Instance.GetChar(1) as NrCharUser; if (nrCharUser == null) { return; } if (!nrCharUser.IsReadyCharAction()) { return; } if (nrCharUser.GetFollowCharPersonID() > 0L) { if (!(NrTSingleton <FormsManager> .Instance.GetForm(G_ID.DLG_STOPAUTOMOVE) is StopAutoMove)) { NrTSingleton <FormsManager> .Instance.ShowForm(G_ID.DLG_STOPAUTOMOVE); } this.CurCharKeyMoveStatus = 0; this.PrevCharKeyMoveStatus = 0; return; } if ((int)this.CurCharKeyMoveStatus == 0) { if ((int)prevCharKeyMoveStatus > 0) { nrCharUser.m_kCharMove.MoveStop(true, true); nrCharUser.m_kCharMove.SendCharMovePacketForKeyBoardMove(true); } return; } if ((int)prevCharKeyMoveStatus == 0) { nrCharUser.m_kCharMove.MoveStop(false, false); nrCharUser.m_kCharMove.SetIncreaseMove(); } nrCharUser.m_kCharMove.KeyboardMove(); NrTSingleton <CRightClickMenu> .Instance.CloseUI(CRightClickMenu.CLOSEOPTION.CLICK); }