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); }
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); }