Ejemplo n.º 1
0
        internal static int OnMessage(UOMSG_TYPE msg, IntPtr wParam, IntPtr lParam)
        {
            int block = 0;

            switch (msg)
            {
            case UOMSG_TYPE.SET_SERVER_NAME:
                break;

            case UOMSG_TYPE.SET_PLAYER_NAME:
                m_ConnStart = DateTime.Now;
                break;

            case UOMSG_TYPE.UPDATE_PLAYER_POSITION:
            {
                PositionData *data = (PositionData *)wParam;
                World.Player.Position  = new Point3D(data->X, data->Y, data->Z);
                World.Player.Direction = (Direction)data->Direction;
                break;
            }

            case UOMSG_TYPE.RECV:
                block = OnRecv((byte *)wParam, (int)lParam) ? 1 : 0;    // packet, size
                break;

            case UOMSG_TYPE.SEND:
                block = OnSend((byte *)wParam, (int)lParam) ? 1 : 0;    // packet, size
                break;

            case UOMSG_TYPE.CLOSE:
                OnLogout();
                Engine.MainWindow.Close();
                break;

            case UOMSG_TYPE.DISCONNECT:
                OnLogout(false);
                break;

            case UOMSG_TYPE.MOUSEBUTTONDOWN:
                HotKey.OnMouse((int)wParam + 1, 0);
                break;

            case UOMSG_TYPE.MOUSEBUTTONUP:
                break;

            case UOMSG_TYPE.MOUSEWHEEL:
                HotKey.OnMouse(0, (int)wParam);
                break;

            case UOMSG_TYPE.KEYDOWN:
                block = HotKey.OnKeyDown((int)wParam) ? 0 : 1;
                break;

            case UOMSG_TYPE.KEYUP:
                break;
            }

            return(block);
        }
Ejemplo n.º 2
0
        internal static int OnMessage(UOMSG_TYPE msg, IntPtr wParam, IntPtr lParam)
        {
            int block = 0;

            switch (msg)
            {
            case UOMSG_TYPE.SET_SERVER_NAME:
                break;

            case UOMSG_TYPE.SET_PLAYER_NAME:
                m_ConnStart = DateTime.Now;
                break;

            case UOMSG_TYPE.UPDATE_PLAYER_POSITION:
            {
                PositionData *data = (PositionData *)wParam;
                World.Player.Position  = new Point3D(data->X, data->Y, data->Z);
                World.Player.Direction = (Direction)data->Direction;
                break;
            }

            case UOMSG_TYPE.RECV:
                block = OnRecv((byte *)wParam, (int)lParam) ? 1 : 0;    // packet, size
                break;

            case UOMSG_TYPE.SEND:
                block = OnSend((byte *)wParam, (int)lParam) ? 1 : 0;    // packet, size
                break;

            case UOMSG_TYPE.CLOSE:
                OnLogout();
                Engine.MainWindow.Close();
                break;

            case UOMSG_TYPE.DISCONNECT:
                OnLogout(false);
                break;

            case UOMSG_TYPE.MOUSEBUTTONDOWN:
                HotKey.OnMouse((int)wParam + 1, 0);
                break;

            case UOMSG_TYPE.MOUSEBUTTONUP:
                break;

            case UOMSG_TYPE.MOUSEWHEEL:
                HotKey.OnMouse(0, (int)wParam);
                break;

            case UOMSG_TYPE.KEYDOWN:
                block = HotKey.OnKeyDown((int)wParam) ? 0 : 1;
                break;

            case UOMSG_TYPE.KEYUP:
                break;

            case UOMSG_TYPE.ACTIVEWINDOW:
                /*
                 * if (Config.GetBool("AlwaysOnTop")) {
                 *  if (lParam != 0 && !razor.TopMost) {
                 *      razor.TopMost = true;
                 *      SetForegroundWindow(FindUOWindow());
                 *  } else if (lParam == 0 && razor.TopMost) {
                 *      razor.TopMost = false;
                 *      razor.SendToBack();
                 *  }
                 * }
                 *
                 * // always use smartness for the map window
                 * if (razor.MapWindow != null && razor.MapWindow.Visible) {
                 *  if (lParam != 0 && !razor.MapWindow.TopMost) {
                 *      razor.MapWindow.TopMost = true;
                 *      SetForegroundWindow(FindUOWindow());
                 *  } else if (lParam == 0 && razor.MapWindow.TopMost) {
                 *      razor.MapWindow.TopMost = false;
                 *      razor.MapWindow.SendToBack();
                 *  }
                 * }
                 */
                break;
            }

            return(block);
        }