示例#1
0
    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);
    }