public unsafe int Send(UOMessage msg, int arg1 = 0, int arg2 = 0, int arg3 = 0) { lock (syncRoot) { msgOut[0] = (int)msg; msgOut[1] = arg1; msgOut[2] = arg2; msgOut[3] = arg3; SignalObjectAndWait(sentOut, handledOut); return(msgOut[0]); } }
public unsafe int SendData(UOMessage msg, byte[] buffer, int len) { lock (syncRoot) { fixed(byte *b = buffer) memcpy(dataOut, b, len); msgOut[0] = (int)msg; msgOut[1] = len; SignalObjectAndWait(sentOut, handledOut); return(msgOut[0]); } }
private static unsafe int OnMessage(UOMessage msg, int arg1, int arg2, int arg3, byte *data) { try { switch (msg) { case UOMessage.Ready: Ready = true; hooks.Send(UOMessage.ConnectionInfo, (int)ServerIP, ServerPort); hooks.Send(UOMessage.GameSize, Width, Height); OnInit(); break; case UOMessage.Connected: Connected.Raise(); break; case UOMessage.Disconnecting: Disconnecting.Raise(); break; case UOMessage.Closing: Closing.Raise(); break; case UOMessage.Focus: FocusChanged.Raise(arg1 != 0); break; case UOMessage.Visibility: VisibilityChanged.Raise(arg1 != 0); break; case UOMessage.KeyDown: UOKeyEventArgs keyArgs = new UOKeyEventArgs(arg1, arg2); KeyDown.Raise(keyArgs); if (keyArgs.Filter) { return(1); } break; case UOMessage.PacketToClient: Packet toClient = new Packet(data, arg1); PacketToClient.Raise(toClient); if (toClient.Filter) { return(1); } if (toClient.Changed) { return(2); } break; case UOMessage.PacketToServer: Packet toServer = new Packet(data, arg1); PacketToServer.Raise(toServer); if (toServer.Filter) { return(1); } if (toServer.Changed) { return(2); } break; } } catch (Exception ex) { OnException(ex); } return(0); }
private static unsafe int OnMessage(UOMessage msg, int arg1, int arg2, int arg3, byte* data) { try { switch (msg) { case UOMessage.Ready: Ready = true; hooks.Send(UOMessage.ConnectionInfo, (int)ServerIP, ServerPort); hooks.Send(UOMessage.GameSize, Width, Height); OnInit(); break; case UOMessage.Connected: Connected.Raise(); break; case UOMessage.Disconnecting: Disconnecting.Raise(); break; case UOMessage.Closing: Closing.Raise(); break; case UOMessage.Focus: FocusChanged.Raise(arg1 != 0); break; case UOMessage.Visibility: VisibilityChanged.Raise(arg1 != 0); break; case UOMessage.KeyDown: UOKeyEventArgs keyArgs = new UOKeyEventArgs(arg1, arg2); KeyDown.Raise(keyArgs); if (keyArgs.Filter) return 1; break; case UOMessage.PacketToClient: Packet toClient = new Packet(data, arg1); PacketToClient.Raise(toClient); if (toClient.Filter) return 1; if (toClient.Changed) return 2; break; case UOMessage.PacketToServer: Packet toServer = new Packet(data, arg1); PacketToServer.Raise(toServer); if (toServer.Filter) return 1; if (toServer.Changed) return 2; break; } } catch (Exception ex) { OnException(ex); } return 0; }
public unsafe int SendData(UOMessage msg, byte[] buffer, int len) { lock (syncRoot) { fixed (byte* b = buffer) memcpy(dataOut, b, len); msgOut[0] = (int)msg; msgOut[1] = len; SignalObjectAndWait(sentOut, handledOut); return msgOut[0]; } }
public unsafe int Send(UOMessage msg, int arg1 = 0, int arg2 = 0, int arg3 = 0) { lock (syncRoot) { msgOut[0] = (int)msg; msgOut[1] = arg1; msgOut[2] = arg2; msgOut[3] = arg3; SignalObjectAndWait(sentOut, handledOut); return msgOut[0]; } }