//处理鼠标输入
    public void ProcessInput_Mouse()
    {
        CInputSystem input      = CInputSystem.Instance;
        bool         bLBtnClick = input.IsLeftMouseClick();
        bool         bRBtnClick = input.IsRightMouseClick();

        //-----------------------------------------------------------
        //鼠标碰撞上的物体
        Vector3 fvMouseHitPlan = Vector3.zero;
        CObject pSelectObj     = CObjectManager.Instance.GetMouseOverObject(input.GetMousePos(), out fvMouseHitPlan);
        //鼠标是否在ui上空
        bool bInUIHover = s_pUISystem != null && s_pUISystem.IsMouseHover() && input.InputCapture != InputCapture.ICS_GAME;

        //-----------------------------------------------------------
        //如果左右键都没有按下,计算鼠标命令
        ENUM_CURSOR_TYPE LastCursor = ENUM_CURSOR_TYPE.CURSOR_WINBASE;
        MOUSE_CMD_TYPE   mouseType  = MOUSE_CMD_TYPE.MCT_NULL;

        if (!bLBtnClick && !bRBtnClick)
        {
            CursorMng.Instance.MouseCommand_Set(bInUIHover, pSelectObj, fvMouseHitPlan, CActionSystem.Instance.GetDefaultAction());
            //设置光标类型
            SCommand_Mouse cmd = CursorMng.Instance.MouseCommand_GetLeft();

            if (bInUIHover)
            {
                // 如果在UI上,且没有处于拖拽状态时,默认显示普通鼠标 [2/15/2012 Ivan]
                if (CursorMng.Instance.m_hUICursor == null)
                {
                    if (s_pUISystem.CurrHyperlink != null)
                    {
                        CursorMng.Instance.SetCursor(ENUM_CURSOR_TYPE.CURSOR_HYPERLINK_HOVER);
                    }
                    else
                    {
                        CursorMng.Instance.SetCursor(ENUM_CURSOR_TYPE.CURSOR_NORMAL);
                    }
                }
            }
            else
            {
                LastCursor = CursorMng.Instance.GetCursor();
                mouseType  = cmd.m_typeMouse;
                switch (cmd.m_typeMouse)
                {
                case MOUSE_CMD_TYPE.MCT_PLAYER_MOVETO:          //移动
                    CursorMng.Instance.SetCursor(ENUM_CURSOR_TYPE.CURSOR_NORMAL);
                    break;

                case MOUSE_CMD_TYPE.MCT_PLAYER_SELECT:          //选择目标
                    CursorMng.Instance.SetCursor(ENUM_CURSOR_TYPE.CURSOR_NORMAL);
                    break;

                case MOUSE_CMD_TYPE.MCT_SKILL_OBJ:              //目标攻击
                    CursorMng.Instance.SetCursor(ENUM_CURSOR_TYPE.CURSOR_ATTACK);
                    break;

                case MOUSE_CMD_TYPE.MCT_SKILL_AREA:                     //区域攻击
                    CursorMng.Instance.SetCursor(ENUM_CURSOR_TYPE.CURSOR_ATTACK);
                    break;

                case MOUSE_CMD_TYPE.MCT_SKILL_DIR:                              //方向型技能
                    CursorMng.Instance.SetCursor(ENUM_CURSOR_TYPE.CURSOR_ATTACK);
                    break;

                case MOUSE_CMD_TYPE.MCT_HIT_TRIPPEROBJ:                 //TripperObj

                    CTripperObject pTripperObj = (CTripperObject)CObjectManager.Instance.FindServerObject(cmd.GetValue <int>(0));
                    if (pTripperObj != null)
                    {
                        CursorMng.Instance.SetCursor(pTripperObj.Tripper_GetCursor());
                    }
                    else
                    {
                        CursorMng.Instance.SetCursor(ENUM_CURSOR_TYPE.CURSOR_NORMAL);
                    }
                    break;

                case MOUSE_CMD_TYPE.MCT_SPEAK:                  //对话
                    CursorMng.Instance.SetCursor(ENUM_CURSOR_TYPE.CURSOR_SPEAK);
                    break;
                }

                //显示/隐藏技能范围指示器
                if (MOUSE_CMD_TYPE.MCT_SKILL_AREA == cmd.m_typeMouse ||
                    (MOUSE_CMD_TYPE.MCT_USE_ITEM == cmd.m_typeMouse &&
                     cmd.GetValue <bool>(4)))
                {
                    if (m_pSkillArea == null)
                    {
                        m_pSkillArea = (CObject_ProjTex_AuraDure)CObjectManager.Instance.NewProjTexAuraDure(-1);
                        m_pSkillArea.Initial(null);
                    }
                    m_pSkillArea.SetShowEnable(true);
                    m_pSkillArea.SetPosition(fvMouseHitPlan);
                    if (MOUSE_CMD_TYPE.MCT_SKILL_AREA == cmd.m_typeMouse)
                    {
                        m_pSkillArea.SetRingRange(cmd.GetValue <float>(5));
                    }
                }
                else if (m_pSkillArea != null && m_pSkillArea.GetShowEnable())
                {
                    m_pSkillArea.SetShowEnable(false);
                }
            }
        }

        //-----------------------------------------------------------
        //分析事件队列
        if (input.IsLeftMouseClick())
        {
            //激活鼠标命令
            //          if(s_pUISystem && s_pUISystem->IsDragFlag())
            //          {
            //              s_pUISystem->ChangeDragFlag(false);
            //          }
            //          else if (m_bCameraDraging)
            //          {
            //              //显示鼠标
            //              CCursorMng::GetMe()->ShowCursor(true);
            //              s_pInputSystem->SetCapture(ICS_NONE);
            //          }
            //          else
            {
                if (CursorMng.Instance.MouseCommand_GetLeft().m_typeMouse == MOUSE_CMD_TYPE.MCT_PLAYER_MOVETO)
                {
                    AutoReleaseSkill.Instance.SetTargetObject(-1);
                    s_pGameInterface.StopAutoHit();
                }
                CursorMng.Instance.MouseCommand_Active(CursorMng.Instance.MouseCommand_GetLeft());
            }
        }
        else if (input.IsRightMouseClick())
        {
            CursorMng.Instance.MouseCommand_Active(CursorMng.Instance.MouseCommand_GetRight());
        }

        //鼠标滚轮操作
        float scrollWheel = input.GetAxis("Mouse ScrollWheel");

        GFX.SceneCamera.Instance.setScrollWheel(scrollWheel);

        if (input.isMouseRightHold() && !bInUIHover)//摄像机旋转操作
        {
            float mouseHorMove = input.GetAxis("Mouse X");
            if (Mathf.Abs(mouseHorMove) > 0.0001)
            {
                GFX.SceneCamera.Instance.AddDirection(mouseHorMove);
            }
        }


        //-----------------------------------------------------------

        // 显示鼠标
        if (CursorMng.Instance.GetCursor() != LastCursor)
        {
            CursorMng.Instance.OnSetCursor();
        }
    }